From 0d70bf682c2303b4f07216110ff051959884cbb4 Mon Sep 17 00:00:00 2001 From: xuefei <564615061@qq.cm> Date: 星期一, 08 五月 2023 14:44:00 +0800 Subject: [PATCH] 登录密码验证base64加密 --- xboot-core/src/main/java/cn/exrick/xboot/core/config/security/DaoAuthenticationProvider.java | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) diff --git a/xboot-core/src/main/java/cn/exrick/xboot/core/config/security/DaoAuthenticationProvider.java b/xboot-core/src/main/java/cn/exrick/xboot/core/config/security/DaoAuthenticationProvider.java new file mode 100644 index 0000000..68ba9f5 --- /dev/null +++ b/xboot-core/src/main/java/cn/exrick/xboot/core/config/security/DaoAuthenticationProvider.java @@ -0,0 +1,33 @@ +package cn.exrick.xboot.core.config.security; + +import cn.hutool.extra.spring.SpringUtil; +import jodd.util.Base64; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; +import org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider; +import org.springframework.security.core.AuthenticationException; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.stereotype.Component; + +/** + * @author xfei + * @date 2023/4/28 14:13 + */ +public class DaoAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider { + @Override + protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken authentication) throws AuthenticationException { + String password= authentication.getCredentials().toString(); + password = Base64.decodeToString(password); + UsernamePasswordAuthenticationToken newAuthentication = new UsernamePasswordAuthenticationToken(authentication.getPrincipal(), password); + newAuthentication.setDetails(authentication.getDetails()); + } + + @Override + protected UserDetails retrieveUser(String s, UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken) throws AuthenticationException { + UserDetails userDetails = SpringUtil.getBean(UserDetailsService.class).loadUserByUsername(s); + + + return userDetails; + } +} -- Gitblit v1.9.1