diff --git a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/handler/DefaultDBFieldHandler.java b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/handler/DefaultDBFieldHandler.java index 0a667003f..39c47a68c 100644 --- a/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/handler/DefaultDBFieldHandler.java +++ b/cf-framework/cf-spring-boot-starter-mybatis/src/main/java/com/cf/imes/framework/mybatis/core/handler/DefaultDBFieldHandler.java @@ -32,7 +32,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler { baseDO.setUpdateTime(current); } - Long userId = WebFrameworkUtils.getLoginUserId(); + //Long userId = WebFrameworkUtils.getLoginUserId(); String loginUserName = WebFrameworkUtils.getLoginUserName(); // 当前登录用户不为空,创建人为空,则当前登录用户为创建人 if (Objects.nonNull(loginUserName) && Objects.isNull(baseDO.getCreator())) { @@ -55,9 +55,10 @@ public class DefaultDBFieldHandler implements MetaObjectHandler { // 当前登录用户不为空,更新人为空,则当前登录用户为更新人 Object modifier = getFieldValByName("updater", metaObject); - Long userId = WebFrameworkUtils.getLoginUserId(); - if (Objects.nonNull(userId) && Objects.isNull(modifier)) { - setFieldValByName("updater", userId.toString(), metaObject); + //Long userId = WebFrameworkUtils.getLoginUserId(); + String loginUserName = WebFrameworkUtils.getLoginUserName(); + if (Objects.nonNull(loginUserName) && Objects.isNull(modifier)) { + setFieldValByName("updater", loginUserName, metaObject); } } } diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengSecurityAutoConfiguration.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengSecurityAutoConfiguration.java index 36fc6a10d..70302c86e 100644 --- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengSecurityAutoConfiguration.java +++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/config/ChenfengSecurityAutoConfiguration.java @@ -19,6 +19,8 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.access.AccessDeniedHandler; +import org.springframework.security.web.firewall.DefaultHttpFirewall; +import org.springframework.security.web.firewall.HttpFirewall; import javax.annotation.Resource; @@ -100,4 +102,10 @@ public class ChenfengSecurityAutoConfiguration { return methodInvokingFactoryBean; } + @Bean + public HttpFirewall httpFirewall() { + return new DefaultHttpFirewall(); + } + + } diff --git a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/filter/TokenAuthenticationFilter.java b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/filter/TokenAuthenticationFilter.java index 43f1839a2..17967b07f 100644 --- a/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/filter/TokenAuthenticationFilter.java +++ b/cf-framework/cf-spring-boot-starter-security/src/main/java/com/cf/imes/framework/security/core/filter/TokenAuthenticationFilter.java @@ -23,6 +23,8 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; /** * Token 过滤器,验证 token 的有效性 @@ -133,6 +135,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { LoginUser loginUser = JsonUtils.parseObject(loginUserStr, LoginUser.class); CommonResult superAdmin = permissionApi.hasAnyRoles(loginUser.getId(), "super_admin"); loginUser.setIsSupAdmin(superAdmin.getCheckedData()); + loginUser.setNickname(URLDecoder.decode(loginUser.getNickname(),StandardCharsets.UTF_8)); return loginUser; } return null; diff --git a/cf-gateway/src/main/java/com/cf/imes/gateway/filter/security/TokenAuthenticationFilter.java b/cf-gateway/src/main/java/com/cf/imes/gateway/filter/security/TokenAuthenticationFilter.java index 0b924df1e..5e2691eea 100644 --- a/cf-gateway/src/main/java/com/cf/imes/gateway/filter/security/TokenAuthenticationFilter.java +++ b/cf-gateway/src/main/java/com/cf/imes/gateway/filter/security/TokenAuthenticationFilter.java @@ -22,6 +22,9 @@ import org.springframework.web.reactive.function.client.WebClient; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Mono; +import java.net.URLEncoder; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; import java.time.Duration; import java.util.List; import java.util.Objects; @@ -171,7 +174,7 @@ public class TokenAuthenticationFilter implements GlobalFilter, Ordered { return new LoginUser().setId(tokenInfo.getUserId()).setUserType(tokenInfo.getUserType()) .setOrganId(tokenInfo.getOrganId()).setScopes(tokenInfo.getScopes()) .setLarge(tokenInfo.getLarge()).setDbNo(tokenInfo.getDbNo()).setTableNo(tokenInfo.getTableNo()) - .setDataCode(tokenInfo.getDataCode()).setNickname(tokenInfo.getNickname()); + .setDataCode(tokenInfo.getDataCode()).setNickname(URLEncoder.encode(tokenInfo.getNickname(), StandardCharsets.UTF_8)); } @Override