mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-07-12 21:33:30 +00:00
Add UserDetailsResourceFactoryBean.fromString
Fixes gh-4568
This commit is contained in:
parent
b59265c641
commit
bc99f8aff3
@ -25,6 +25,7 @@ import org.springframework.security.core.userdetails.User;
|
|||||||
import org.springframework.security.core.userdetails.UserDetails;
|
import org.springframework.security.core.userdetails.UserDetails;
|
||||||
import org.springframework.security.core.userdetails.memory.UserAttribute;
|
import org.springframework.security.core.userdetails.memory.UserAttribute;
|
||||||
import org.springframework.security.core.userdetails.memory.UserAttributeEditor;
|
import org.springframework.security.core.userdetails.memory.UserAttributeEditor;
|
||||||
|
import org.springframework.security.util.InMemoryResource;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
@ -151,4 +152,15 @@ public class UserDetailsResourceFactoryBean implements ResourceLoaderAware, Fact
|
|||||||
result.setResource(propertiesResource);
|
result.setResource(propertiesResource);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a UserDetailsResourceFactoryBean with a resource from the provided String
|
||||||
|
*
|
||||||
|
* @param users the string representing the users
|
||||||
|
* @return the UserDetailsResourceFactoryBean
|
||||||
|
*/
|
||||||
|
public static UserDetailsResourceFactoryBean fromString(String users) {
|
||||||
|
InMemoryResource resource = new InMemoryResource(users);
|
||||||
|
return fromResource(resource);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -86,6 +86,13 @@ public class UserDetailsResourceFactoryBeanTest {
|
|||||||
.hasStackTraceContaining("invalidFormatHere");
|
.hasStackTraceContaining("invalidFormatHere");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void getObjectWhenStringSingleUserThenGetsSingleUser() throws Exception {
|
||||||
|
this.factory = UserDetailsResourceFactoryBean.fromString("user=password,ROLE_USER");
|
||||||
|
|
||||||
|
assertLoaded();
|
||||||
|
}
|
||||||
|
|
||||||
private void assertLoaded() throws Exception {
|
private void assertLoaded() throws Exception {
|
||||||
Collection<UserDetails> users = factory.getObject();
|
Collection<UserDetails> users = factory.getObject();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user