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