SPRINGBOOT-LDAP:如何从多个(ou)组中搜索和填充用户的权限/角色详细信息?

时间:2019-01-17 11:31:55

标签: spring-boot spring-ldap spring-security-ldap

我正在为使用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,..)信息的情况下获取用户确切角色信息。

0 个答案:

没有答案