diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/OauthLoginHlwService.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/OauthLoginHlwService.java index d967861..a351cc6 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/OauthLoginHlwService.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/service/OauthLoginHlwService.java @@ -214,23 +214,12 @@ public class OauthLoginHlwService { * (关键:用本地用户名构建认证令牌,无需密码,因为门户已完成身份校验) */ private Authentication authenticateLocalUser(String localUsername) { - Authentication authentication = null; try { UserDetails userDetails = userDetailsService.loadUserByUsername(localUsername); - - authentication = new UsernamePasswordAuthenticationToken( - userDetails, - null, // 密码为 null,彻底绕过 Spring Security 的密码校验 - userDetails.getAuthorities() - ); - - AuthenticationContextHolder.setContext(authentication); + return new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities()); } catch (Exception e) { throw new ServiceException("本地用户认证失败:" + e.getMessage()); - } finally { - AuthenticationContextHolder.clearContext(); } - return authentication; } /**