Browse Source

Add User.withDefaultPasswordEncoder()

Fixes gh-4678
Rob Winch 8 years ago
parent
commit
1ea10a1e89

+ 7 - 0
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())