Commit e9503f4b sunke

跨域

1 个父辈 089f8347
...@@ -19,8 +19,6 @@ import java.util.Locale; ...@@ -19,8 +19,6 @@ import java.util.Locale;
@Data @Data
public class ResultBean<T> { public class ResultBean<T> {
@Autowired
private static MessageUtils messageUtils;
public static ResultBean newErrorResult(int code, String msgKey, String msg ) { public static ResultBean newErrorResult(int code, String msgKey, String msg ) {
return newErrorResult(code, msgKey, msg, new String[]{},true); return newErrorResult(code, msgKey, msg, new String[]{},true);
} }
...@@ -33,7 +31,7 @@ public class ResultBean<T> { ...@@ -33,7 +31,7 @@ public class ResultBean<T> {
result.setCode(code); result.setCode(code);
result.setMsgKey(msgKey); result.setMsgKey(msgKey);
result.setMsg(messageUtils.getText(msgKey, params, new Locale(SecurityUtils.getCurrentUserLanguage()), msg)); result.setMsg(MessageUtils.getText(msgKey, params, new Locale(SecurityUtils.getCurrentUserLanguage()), msg));
if (writeLog) { if (writeLog) {
log.info(msg); log.info(msg);
} }
...@@ -46,7 +44,7 @@ public class ResultBean<T> { ...@@ -46,7 +44,7 @@ public class ResultBean<T> {
ResultBean result = new ResultBean(); ResultBean result = new ResultBean();
result.setCode(0); result.setCode(0);
result.setMsgKey(msgKey); result.setMsgKey(msgKey);
result.setMsg(messageUtils.getText(msgKey, new String[]{}, new Locale(SecurityUtils.getCurrentUserLanguage()), msg)); result.setMsg(MessageUtils.getText(msgKey, new String[]{}, new Locale(SecurityUtils.getCurrentUserLanguage()), msg));
result.setData(data); result.setData(data);
return result; return result;
} }
......
...@@ -28,14 +28,22 @@ import org.springframework.security.core.Authentication; ...@@ -28,14 +28,22 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.stereotype.Component;
import java.util.List; import java.util.List;
@Slf4j @Slf4j
@Component
public class SecurityUtils { public class SecurityUtils {
private static IUserManager userManager;
@Autowired @Autowired
static IUserManager userManager; public void setUserManager(IUserManager userManager) {
SecurityUtils.userManager = userManager;
}
/** /**
* 获取当前登录的用户 * 获取当前登录的用户
* @return UserDetails * @return UserDetails
...@@ -93,8 +101,8 @@ public class SecurityUtils { ...@@ -93,8 +101,8 @@ public class SecurityUtils {
} }
public static String getCurrentUserLanguage() { public static String getCurrentUserLanguage() {
String userId=getCurrentUserId(); String username=getLoginUsername();
User user=userManager.get(userId); User user=userManager.findByUserName(username);
if(user!=null){ if(user!=null){
return user.getLanguage(); return user.getLanguage();
} }
......
...@@ -6,8 +6,6 @@ import com.neotel.smfcore.common.exception.ValidateException; ...@@ -6,8 +6,6 @@ import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.security.service.po.User; import com.neotel.smfcore.security.service.po.User;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import javax.jnlp.ClipboardService;
import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
......
...@@ -19,6 +19,7 @@ import com.neotel.smfcore.core.storage.enums.DeviceType; ...@@ -19,6 +19,7 @@ import com.neotel.smfcore.core.storage.enums.DeviceType;
import com.neotel.smfcore.core.storage.service.po.Storage; import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos; import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.service.po.DataLog; import com.neotel.smfcore.core.system.service.po.DataLog;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import com.neotel.smfcore.security.service.po.Group; import com.neotel.smfcore.security.service.po.Group;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -74,6 +75,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -74,6 +75,7 @@ public class SensorShelfHandler extends BaseDeviceHandler {
*/ */
@RequestMapping("/service/store/sensorShelf/sensorChange") @RequestMapping("/service/store/sensorShelf/sensorChange")
@ResponseBody @ResponseBody
@AnonymousAccess
public ResultBean sensorChange(HttpServletRequest request, HttpSession httpSession){ public ResultBean sensorChange(HttpServletRequest request, HttpSession httpSession){
String cid = request.getParameter("cid"); String cid = request.getParameter("cid");
Storage storage = dataCache.getStorage(cid); Storage storage = dataCache.getStorage(cid);
...@@ -176,6 +178,7 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -176,6 +178,7 @@ public class SensorShelfHandler extends BaseDeviceHandler {
*/ */
@RequestMapping("/service/store/sensorShelf/hasReelPosList") @RequestMapping("/service/store/sensorShelf/hasReelPosList")
@ResponseBody @ResponseBody
@AnonymousAccess
public ResultBean checkAll(HttpServletRequest request){ public ResultBean checkAll(HttpServletRequest request){
String cid = request.getParameter("cid"); String cid = request.getParameter("cid");
Storage storage = dataCache.getStorage(cid); Storage storage = dataCache.getStorage(cid);
...@@ -189,6 +192,6 @@ public class SensorShelfHandler extends BaseDeviceHandler { ...@@ -189,6 +192,6 @@ public class SensorShelfHandler extends BaseDeviceHandler {
@Override @Override
public DeviceType getDeviceType() { public DeviceType getDeviceType() {
return DeviceType.SOLDERPASTE; return DeviceType.CODESHELF;
} }
} }
...@@ -23,7 +23,6 @@ import java.util.Map; ...@@ -23,7 +23,6 @@ import java.util.Map;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/service/store") @RequestMapping("/service/store")
@RequiredArgsConstructor
@Api(tags = "设备通信") @Api(tags = "设备通信")
public class DeviceController { public class DeviceController {
......
package com.neotel.smfcore.core.language.service.bean;
import lombok.Data;
/**
* Created by sunke on 2021/7/29.
*/
@Data
public class Content {
/**
* 语言简码,如zh_CN,en待
*/
private String lanCode;
/**
* 国际化内容
*/
private String msg;
}
package com.neotel.smfcore.core.language.service.po;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.neotel.smfcore.common.base.BasePo;
import com.neotel.smfcore.core.language.service.bean.Content;
import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS;
import com.neotel.smfcore.core.order.service.po.LiteOrderItem;
import lombok.Data;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
@Data
@Document
public class LanguageMsg extends BasePo implements Serializable {
private String name;
private String code;
/**
* 消息key,第一个.之前为设备名称
*/
private String key;
/**
* 默认值
*/
private String msg;
/**
* 存放翻译内容List
*/
private List<Content> contentList = Lists.newArrayList();
}
...@@ -21,11 +21,11 @@ public class MessageUtils { ...@@ -21,11 +21,11 @@ public class MessageUtils {
MessageUtils.messageSource = messageSource; MessageUtils.messageSource = messageSource;
} }
public String getText(String msgKey, Locale locale,String defaultMsg) { public static String getText(String msgKey, Locale locale,String defaultMsg) {
return getText(msgKey,null, locale,defaultMsg); return getText(msgKey,null, locale,defaultMsg);
} }
public String getText(String msgKey, String[] params, Locale locale, String defaultMsg) { public static String getText(String msgKey, String[] params, Locale locale, String defaultMsg) {
try{ try{
if (params == null) { if (params == null) {
return messageSource.getMessage(msgKey, new String[]{}, locale); return messageSource.getMessage(msgKey, new String[]{}, locale);
......
...@@ -51,21 +51,21 @@ public class ConfigurerAdapter implements WebMvcConfigurer { ...@@ -51,21 +51,21 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
this.properties = properties; this.properties = properties;
} }
@Bean // @Bean
public CorsFilter corsFilter() { // public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration(); // CorsConfiguration config = new CorsConfiguration();
//允许所有域名进行跨域调用 // //允许所有域名进行跨域调用
config.addAllowedOriginPattern("*");//替换这个 // config.addAllowedOriginPattern("*");//替换这个
//允许跨越发送cookie // //允许跨越发送cookie
config.setAllowCredentials(true); // config.setAllowCredentials(true);
//放行全部原始头信息 // //放行全部原始头信息
config.addAllowedHeader("*"); // config.addAllowedHeader("*");
//允许所有请求方法跨域调用 // //允许所有请求方法跨域调用
config.addAllowedMethod("*"); // config.addAllowedMethod("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); // UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config); // source.registerCorsConfiguration("/**", config);
return new CorsFilter(source); // return new CorsFilter(source);
} // }
@Override @Override
public void addResourceHandlers(ResourceHandlerRegistry registry) { public void addResourceHandlers(ResourceHandlerRegistry registry) {
......
package com.neotel.smfcore.security.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* Created by sunke on 2021/8/6.
*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {
/**
* 开启跨域
*/
@Override
public void addCorsMappings(CorsRegistry registry) {
// 设置允许跨域的路由
registry.addMapping("/**")
// 设置允许跨域请求的域名
.allowedOriginPatterns("*")
// 是否允许证书(cookies)
.allowCredentials(true)
// 设置允许的方法
.allowedMethods("*")
// 跨域允许时间
.maxAge(3600);
}
}
...@@ -54,7 +54,7 @@ import java.util.*; ...@@ -54,7 +54,7 @@ import java.util.*;
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
private final TokenProvider tokenProvider; private final TokenProvider tokenProvider;
private final CorsFilter corsFilter; // private final CorsFilter corsFilter;
private final JwtAuthenticationEntryPoint authenticationErrorHandler; private final JwtAuthenticationEntryPoint authenticationErrorHandler;
private final JwtAccessDeniedHandler jwtAccessDeniedHandler; private final JwtAccessDeniedHandler jwtAccessDeniedHandler;
private final ApplicationContext applicationContext; private final ApplicationContext applicationContext;
...@@ -84,7 +84,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter { ...@@ -84,7 +84,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
httpSecurity httpSecurity
// 禁用 CSRF // 禁用 CSRF
.csrf().disable() .csrf().disable()
.addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class) // .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
// 授权异常 // 授权异常
.exceptionHandling() .exceptionHandling()
.authenticationEntryPoint(authenticationErrorHandler) .authenticationEntryPoint(authenticationErrorHandler)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!