修正PasswordEncoder配置,支持明文密码的校验
diff --git a/samples/security/src/main/java/com/supwisdom/leaveschool/app/config/PasswordEncoderConfig.java b/samples/security/src/main/java/com/supwisdom/leaveschool/app/config/PasswordEncoderConfig.java
index 9b2385a..f7944f0 100644
--- a/samples/security/src/main/java/com/supwisdom/leaveschool/app/config/PasswordEncoderConfig.java
+++ b/samples/security/src/main/java/com/supwisdom/leaveschool/app/config/PasswordEncoderConfig.java
@@ -5,6 +5,8 @@
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.crypto.factory.PasswordEncoderFactories;
+import org.springframework.security.crypto.password.DelegatingPasswordEncoder;
+import org.springframework.security.crypto.password.NoOpPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;
@Configuration
@@ -16,7 +18,11 @@
public PasswordEncoder passwordEncoder() {
PasswordEncoder passwordEncoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
-
+
+ if (passwordEncoder instanceof DelegatingPasswordEncoder) {
+ ((DelegatingPasswordEncoder)passwordEncoder).setDefaultPasswordEncoderForMatches(NoOpPasswordEncoder.getInstance());
+ }
+
logger.debug("PasswordEncoderConfig passwordEncoder is {}", passwordEncoder);
return passwordEncoder;
}