Search in sources :

Example 31 with DistinguishedName

use of org.springframework.ldap.core.DistinguishedName in project spring-security by spring-projects.

the class LdapUserDetailsMapperTests method testNonRetrievedRoleAttributeIsIgnored.

/**
	 * SEC-303. Non-retrieved role attribute causes NullPointerException
	 */
@Test
public void testNonRetrievedRoleAttributeIsIgnored() throws Exception {
    LdapUserDetailsMapper mapper = new LdapUserDetailsMapper();
    mapper.setRoleAttributes(new String[] { "userRole", "nonRetrievedAttribute" });
    BasicAttributes attrs = new BasicAttributes();
    attrs.put(new BasicAttribute("userRole", "x"));
    DirContextAdapter ctx = new DirContextAdapter(attrs, new DistinguishedName("cn=someName"));
    ctx.setAttributeValue("uid", "ani");
    LdapUserDetailsImpl user = (LdapUserDetailsImpl) mapper.mapUserFromContext(ctx, "ani", AuthorityUtils.NO_AUTHORITIES);
    assertThat(user.getAuthorities()).hasSize(1);
    assertThat(AuthorityUtils.authorityListToSet(user.getAuthorities())).contains("ROLE_X");
}
Also used : BasicAttribute(javax.naming.directory.BasicAttribute) BasicAttributes(javax.naming.directory.BasicAttributes) DistinguishedName(org.springframework.ldap.core.DistinguishedName) DirContextAdapter(org.springframework.ldap.core.DirContextAdapter) Test(org.junit.Test)

Example 32 with DistinguishedName

use of org.springframework.ldap.core.DistinguishedName in project spring-security by spring-projects.

the class LdapUserDetailsMapperTests method testPasswordAttributeIsMappedCorrectly.

@Test
public void testPasswordAttributeIsMappedCorrectly() throws Exception {
    LdapUserDetailsMapper mapper = new LdapUserDetailsMapper();
    mapper.setPasswordAttributeName("myappsPassword");
    BasicAttributes attrs = new BasicAttributes();
    attrs.put(new BasicAttribute("myappsPassword", "mypassword".getBytes()));
    DirContextAdapter ctx = new DirContextAdapter(attrs, new DistinguishedName("cn=someName"));
    ctx.setAttributeValue("uid", "ani");
    LdapUserDetails user = (LdapUserDetailsImpl) mapper.mapUserFromContext(ctx, "ani", AuthorityUtils.NO_AUTHORITIES);
    assertThat(user.getPassword()).isEqualTo("mypassword");
}
Also used : BasicAttribute(javax.naming.directory.BasicAttribute) BasicAttributes(javax.naming.directory.BasicAttributes) DistinguishedName(org.springframework.ldap.core.DistinguishedName) DirContextAdapter(org.springframework.ldap.core.DirContextAdapter) Test(org.junit.Test)

Aggregations

DistinguishedName (org.springframework.ldap.core.DistinguishedName)32 DirContextAdapter (org.springframework.ldap.core.DirContextAdapter)23 Test (org.junit.Test)8 GrantedAuthority (org.springframework.security.core.GrantedAuthority)7 DirContext (javax.naming.directory.DirContext)5 BasicAttribute (javax.naming.directory.BasicAttribute)4 SearchResult (javax.naming.directory.SearchResult)4 SimpleGrantedAuthority (org.springframework.security.core.authority.SimpleGrantedAuthority)4 BasicAttributes (javax.naming.directory.BasicAttributes)2 ModificationItem (javax.naming.directory.ModificationItem)2 SearchControls (javax.naming.directory.SearchControls)2 DirContextOperations (org.springframework.ldap.core.DirContextOperations)2 BadCredentialsException (org.springframework.security.authentication.BadCredentialsException)2 UsernamePasswordAuthenticationToken (org.springframework.security.authentication.UsernamePasswordAuthenticationToken)2 Authentication (org.springframework.security.core.Authentication)2 UserDetails (org.springframework.security.core.userdetails.UserDetails)2 MockUserSearch (org.springframework.security.ldap.authentication.MockUserSearch)2 HashSet (java.util.HashSet)1 LinkedList (java.util.LinkedList)1 NamingException (javax.naming.NamingException)1