Commit e9503f4b sunke

跨域

1 个父辈 089f8347
......@@ -19,8 +19,6 @@ import java.util.Locale;
@Data
public class ResultBean<T> {
@Autowired
private static MessageUtils messageUtils;
public static ResultBean newErrorResult(int code, String msgKey, String msg ) {
return newErrorResult(code, msgKey, msg, new String[]{},true);
}
......@@ -33,7 +31,7 @@ public class ResultBean<T> {
result.setCode(code);
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) {
log.info(msg);
}
......@@ -46,7 +44,7 @@ public class ResultBean<T> {
ResultBean result = new ResultBean();
result.setCode(0);
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);
return result;
}
......
......@@ -28,14 +28,22 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.stereotype.Component;
import java.util.List;
@Slf4j
@Component
public class SecurityUtils {
private static IUserManager userManager;
@Autowired
static IUserManager userManager;
public void setUserManager(IUserManager userManager) {
SecurityUtils.userManager = userManager;
}
/**
* 获取当前登录的用户
* @return UserDetails
......@@ -93,8 +101,8 @@ public class SecurityUtils {
}
public static String getCurrentUserLanguage() {
String userId=getCurrentUserId();
User user=userManager.get(userId);
String username=getLoginUsername();
User user=userManager.findByUserName(username);
if(user!=null){
return user.getLanguage();
}
......
......@@ -6,8 +6,6 @@ import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.security.service.po.User;
import lombok.extern.slf4j.Slf4j;
import javax.jnlp.ClipboardService;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
......
......@@ -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.StoragePos;
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 lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -74,6 +75,7 @@ public class SensorShelfHandler extends BaseDeviceHandler {
*/
@RequestMapping("/service/store/sensorShelf/sensorChange")
@ResponseBody
@AnonymousAccess
public ResultBean sensorChange(HttpServletRequest request, HttpSession httpSession){
String cid = request.getParameter("cid");
Storage storage = dataCache.getStorage(cid);
......@@ -176,6 +178,7 @@ public class SensorShelfHandler extends BaseDeviceHandler {
*/
@RequestMapping("/service/store/sensorShelf/hasReelPosList")
@ResponseBody
@AnonymousAccess
public ResultBean checkAll(HttpServletRequest request){
String cid = request.getParameter("cid");
Storage storage = dataCache.getStorage(cid);
......@@ -189,6 +192,6 @@ public class SensorShelfHandler extends BaseDeviceHandler {
@Override
public DeviceType getDeviceType() {
return DeviceType.SOLDERPASTE;
return DeviceType.CODESHELF;
}
}
......@@ -23,7 +23,6 @@ import java.util.Map;
@Slf4j
@RestController
@RequestMapping("/service/store")
@RequiredArgsConstructor
@Api(tags = "设备通信")
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 {
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);
}
public String getText(String msgKey, String[] params, Locale locale, String defaultMsg) {
public static String getText(String msgKey, String[] params, Locale locale, String defaultMsg) {
try{
if (params == null) {
return messageSource.getMessage(msgKey, new String[]{}, locale);
......
......@@ -51,21 +51,21 @@ public class ConfigurerAdapter implements WebMvcConfigurer {
this.properties = properties;
}
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
//允许所有域名进行跨域调用
config.addAllowedOriginPattern("*");//替换这个
//允许跨越发送cookie
config.setAllowCredentials(true);
//放行全部原始头信息
config.addAllowedHeader("*");
//允许所有请求方法跨域调用
config.addAllowedMethod("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
// @Bean
// public CorsFilter corsFilter() {
// CorsConfiguration config = new CorsConfiguration();
// //允许所有域名进行跨域调用
// config.addAllowedOriginPattern("*");//替换这个
// //允许跨越发送cookie
// config.setAllowCredentials(true);
// //放行全部原始头信息
// config.addAllowedHeader("*");
// //允许所有请求方法跨域调用
// config.addAllowedMethod("*");
// UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
// source.registerCorsConfiguration("/**", config);
// return new CorsFilter(source);
// }
@Override
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.*;
public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
private final TokenProvider tokenProvider;
private final CorsFilter corsFilter;
// private final CorsFilter corsFilter;
private final JwtAuthenticationEntryPoint authenticationErrorHandler;
private final JwtAccessDeniedHandler jwtAccessDeniedHandler;
private final ApplicationContext applicationContext;
......@@ -84,7 +84,7 @@ public class SpringSecurityConfig extends WebSecurityConfigurerAdapter {
httpSecurity
// 禁用 CSRF
.csrf().disable()
.addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
// .addFilterBefore(corsFilter, UsernamePasswordAuthenticationFilter.class)
// 授权异常
.exceptionHandling()
.authenticationEntryPoint(authenticationErrorHandler)
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!