SPRINGBOOT-LDAP: как искать и заполнять сведения о полномочиях / ролях для пользователя из нескольких (ou) групп?
Я работаю над приложением Springboot для службы аутентификации / авторизации с использованием LDAP . Структура каталогов 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, для получения роли, связанной с пользователем, необходимо указать 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")
Как получить точную информацию о роли пользователя без указания точного пути (ou=org1,org2,..) в конфигурации groupSearchBase.