From 4f3a98f19143865cdc1de4791e8a95d96bd40c65 Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期五, 01 八月 2025 13:27:59 +0800 Subject: [PATCH] yys 密码已重置 --- ruoyi-framework/src/main/java/com/ruoyi/framework/web/ssoAuth/SsoCodeAuthenticationProvider.java | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 42 insertions(+), 0 deletions(-) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/web/ssoAuth/SsoCodeAuthenticationProvider.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/ssoAuth/SsoCodeAuthenticationProvider.java new file mode 100644 index 0000000..689fe16 --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/web/ssoAuth/SsoCodeAuthenticationProvider.java @@ -0,0 +1,42 @@ +package com.ruoyi.framework.web.ssoAuth; + +import org.springframework.security.authentication.AuthenticationProvider; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.AuthenticationException; +public class SsoCodeAuthenticationProvider implements AuthenticationProvider { + + private UserDetailsService userDetailsService; + + @Override + public Authentication authenticate(Authentication authentication) throws AuthenticationException { + SsoCodeAuthenticationToken authenticationToken = (SsoCodeAuthenticationToken) authentication; + + String openId = (String) authenticationToken.getPrincipal(); + + UserDetails userDetails = userDetailsService.loadUserByUsername(openId); + + // 姝ゆ椂閴存潈鎴愬姛鍚庯紝搴斿綋閲嶆柊 new 涓�涓嫢鏈夐壌鏉冪殑 authenticationResult 杩斿洖 + SsoCodeAuthenticationToken authenticationResult = new SsoCodeAuthenticationToken(userDetails, userDetails.getAuthorities()); + + authenticationResult.setDetails(authenticationToken.getDetails()); + + return authenticationResult; + } + + + @Override + public boolean supports(Class<?> authentication) { + // 鍒ゆ柇 authentication 鏄笉鏄� SsoCodeAuthenticationToken 鐨勫瓙绫绘垨瀛愭帴鍙� + return SsoCodeAuthenticationToken.class.isAssignableFrom(authentication); + } + + public UserDetailsService getUserDetailsService() { + return userDetailsService; + } + + public void setUserDetailsService(UserDetailsService userDetailsService) { + this.userDetailsService = userDetailsService; + } +} -- Gitblit v1.9.3