Add User.withDefaultPasswordEncoder()

Fixes gh-4678
This commit is contained in:
Rob Winch 2017-10-23 15:36:03 -05:00
parent a0fb324e1d
commit 1ea10a1e89
1 changed files with 7 additions and 0 deletions

View File

@ -33,6 +33,8 @@ import org.springframework.security.core.CredentialsContainer;
import org.springframework.security.core.SpringSecurityCoreVersion; import org.springframework.security.core.SpringSecurityCoreVersion;
import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.authority.AuthorityUtils;
import org.springframework.security.core.authority.SimpleGrantedAuthority; 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; import org.springframework.util.Assert;
/** /**
@ -264,6 +266,11 @@ public class User implements UserDetails, CredentialsContainer {
return new UserBuilder(); return new UserBuilder();
} }
public static UserBuilder withDefaultPasswordEncoder() {
PasswordEncoder encoder = PasswordEncoderFactories.createDelegatingPasswordEncoder();
return builder().passwordEncoder(encoder::encode);
}
public static UserBuilder withUserDetails(UserDetails userDetails) { public static UserBuilder withUserDetails(UserDetails userDetails) {
return withUsername(userDetails.getUsername()) return withUsername(userDetails.getUsername())
.password(userDetails.getPassword()) .password(userDetails.getPassword())