Commit 4749090fc09849ee7a71cea850e23e28349613ac
1 parent
61c76874
修复 匿名用户会被鉴定为anonymousUser
Showing
1 changed file
with
6 additions
and
5 deletions
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); |