处理网关header传递中文异常

This commit is contained in:
yangsb
2024-04-26 10:13:01 +08:00
parent f12ef9e9eb
commit b3c1cf89fc
4 changed files with 20 additions and 5 deletions
@@ -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();
}
}
@@ -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<Boolean> superAdmin = permissionApi.hasAnyRoles(loginUser.getId(), "super_admin");
loginUser.setIsSupAdmin(superAdmin.getCheckedData());
loginUser.setNickname(URLDecoder.decode(loginUser.getNickname(),StandardCharsets.UTF_8));
return loginUser;
}
return null;