SEC-1877: Allow injection of rolePrefix to LdapUserDetailsManager #2083
Labels
in: ldap
An issue in spring-security-ldap
status: duplicate
A duplicate of another issue
type: enhancement
A general enhancement
type: jira
An issue that was migrated from JIRA
Milestone
Yale Madden (Migrated from SEC-1877) said:
The rolePrefix member of LdapUserDetailsManager defaults to "ROLE_." This forces me to use this default rolePrefix throughout my application. Otherwise, convertAuthorityToGroup does not remove my rolePrefix and calls to createUser and updateUser return the following error:
javax.naming.NameNotFoundException: [LDAP: error code 32 - No Such Object]; remaining name 'cn=myprefix_user,ou=groups'
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.c_modifyAttributes(Unknown Source)
at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_modifyAttributes(Unknown Source)
at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.modifyAttributes(Unknown Source)
at javax.naming.directory.InitialDirContext.modifyAttributes(Unknown Source)
at org.springframework.security.ldap.userdetails.LdapUserDetailsManager$5.executeWithContext(LdapUserDetailsManager.java:331)
at org.springframework.ldap.core.LdapTemplate.executeWithContext(LdapTemplate.java:807)
at org.springframework.ldap.core.LdapTemplate.executeReadWrite(LdapTemplate.java:802)
at org.springframework.security.ldap.userdetails.LdapUserDetailsManager.modifyAuthorities(LdapUserDetailsManager.java:323)
at org.springframework.security.ldap.userdetails.LdapUserDetailsManager.addAuthorities(LdapUserDetailsManager.java:315)
at org.springframework.security.ldap.userdetails.LdapUserDetailsManager.updateUser(LdapUserDetailsManager.java:274)
Please provide a public setter for the rolePrefix member.
The text was updated successfully, but these errors were encountered: