Commit 4749090fc09849ee7a71cea850e23e28349613ac

Authored by niudehua
1 parent 61c76874

修复 匿名用户会被鉴定为anonymousUser

src/main/java/cn/iocoder/dashboard/framework/security/core/util/SecurityFrameworkUtils.java
... ... @@ -20,13 +20,14 @@ import java.util.Set;
20 20 */
21 21 public class SecurityFrameworkUtils {
22 22  
23   - private SecurityFrameworkUtils() {}
  23 + private SecurityFrameworkUtils() {
  24 + }
24 25  
25 26 /**
26 27 * 从请求中,获得认证 Token
27 28 *
28 29 * @param request 请求
29   - * @param header 认证 Token 对应的 Header 名字
  30 + * @param header 认证 Token 对应的 Header 名字
30 31 * @return 认证 Token
31 32 */
32 33 public static String obtainAuthorization(HttpServletRequest request, String header) {
... ... @@ -56,7 +57,7 @@ public class SecurityFrameworkUtils {
56 57 if (authentication == null) {
57 58 return null;
58 59 }
59   - return (LoginUser) authentication.getPrincipal();
  60 + return authentication.getPrincipal() instanceof LoginUser ? (LoginUser) authentication.getPrincipal() : null;
60 61 }
61 62  
62 63 /**
... ... @@ -85,12 +86,12 @@ public class SecurityFrameworkUtils {
85 86 * 设置当前用户
86 87 *
87 88 * @param loginUser 登陆用户
88   - * @param request 请求
  89 + * @param request 请求
89 90 */
90 91 public static void setLoginUser(LoginUser loginUser, HttpServletRequest request) {
91 92 // 创建 UsernamePasswordAuthenticationToken 对象
92 93 UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(
93   - loginUser, null, null);
  94 + loginUser, null, null);
94 95 authenticationToken.setDetails(new WebAuthenticationDetailsSource().buildDetails(request));
95 96 // 设置到上下文
96 97 SecurityContextHolder.getContext().setAuthentication(authenticationToken);
... ...