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