我正在为使用LDAP的身份验证/授权服务开发springboot应用程序。 LDAP目录结构如下所示。
dc=mycompany,dc=com
ou=org1
o=finance
ou=userroles
cn=admin
uniqueMember: ...
cn=role2
o=engineering
ou=userroles
cn=role1
cn=role2
cn=...
ou=org2
ou=finance
ou=userroles
cn=role1
cn=role2
.....
ou=global
ou=users
uid=admin,..
uid=user2,..
使用springboot安全性auth配置,要获取与用户关联的角色,需要使用精确路径(如下所示)指定groupSearchBase
@Override
public void configure(AuthenticationManagerBuilder auth) throws Exception {
auth
.ldapAuthentication()
.userSearchFilter("(uid={0})")
.userSearchBase("ou=users,ou=global")
.groupSearchFilter("(uniqueMember={0})")
.groupSearchBase("ou=userroles,o=finance,ou=org1")
.groupRoleAttribute("cn")
如何在groupSearchBase配置中不指定确切路径(ou = org1,org2,..)信息的情况下获取用户确切角色信息。