diff --git a/core/src/main/java/org/springframework/security/core/userdetails/User.java b/core/src/main/java/org/springframework/security/core/userdetails/User.java index 51d899fe2b..ce8e318c24 100644 --- a/core/src/main/java/org/springframework/security/core/userdetails/User.java +++ b/core/src/main/java/org/springframework/security/core/userdetails/User.java @@ -33,6 +33,8 @@ import org.springframework.security.core.CredentialsContainer; import org.springframework.security.core.SpringSecurityCoreVersion; import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.crypto.factory.PasswordEncoderFactories; +import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.util.Assert; /** @@ -264,6 +266,11 @@ public class User implements UserDetails, CredentialsContainer { return new UserBuilder(); } + public static UserBuilder withDefaultPasswordEncoder() { + PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder(); + return builder().passwordEncoder(encoder::encode); + } + public static UserBuilder withUserDetails(UserDetails userDetails) { return withUsername(userDetails.getUsername()) .password(userDetails.getPassword())