Spring 3,Spring Security,LDAP,如何向 LDAP 添加角色?

Posted

技术标签:

【中文标题】Spring 3,Spring Security,LDAP,如何向 LDAP 添加角色?【英文标题】:Spring 3, Spring Security, LDAP, How do I add roles to LDAP? 【发布时间】:2011-08-07 00:06:45 【问题描述】:

Spring 3、Spring Security、LDAP、如何向 LDAP 添加角色;我将使用 Spring Secuity 的 Spring 3 项目更改为使用 mysql 中的 LDAP。检查用户密码的登录正在工作,但我不知道如何将角色添加到 ldap.. 有人可以帮我提供一个示例 LDIF 文件吗?

<beans:bean id="ldapAuthProvider"
    class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
    <beans:constructor-arg>
        <beans:bean
            class="org.springframework.security.ldap.authentication.BindAuthenticator">
            <beans:constructor-arg ref="contextSource" />
            <beans:property name="userDnPatterns">
                <beans:list>
                    <beans:value>uid=0,ou=users</beans:value>
                </beans:list>
            </beans:property>
        </beans:bean>
    </beans:constructor-arg>
    <beans:constructor-arg>
        <beans:bean
            class="org.springframework.security.ldap.userdetails.DefaultLdapAuthoritiesPopulator">
            <beans:constructor-arg ref="contextSource" />
            <beans:constructor-arg value="ou=groups" />
            <beans:property name="groupRoleAttribute" value="ou" />
        </beans:bean>
    </beans:constructor-arg>
</beans:bean>

以下是我的 LDIF 示例。如何让 jsmith 成为管理员并让访客成为用户?

dn: uid=jsmith,ou=users,dc=xxx,dc=com
objectClass: inetOrgPerson
uid: jsmith
sn: Smith
givenName: Johnathan
cn: Johnathan Smith
displayName: Johnathan Smith
userPassword: sabrina123

dn: cn=guest,ou=users,dc=xxx,dc=com
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
cn: guest
sn: guest
uid: guest
userPassword: guest

【问题讨论】:

【参考方案1】:

用户目录记录中必须有一些成员值才能用DefaultLdapAuthoritiesPopulator 检索。

【讨论】:

以上是关于Spring 3,Spring Security,LDAP,如何向 LDAP 添加角色?的主要内容,如果未能解决你的问题,请参考以下文章

Spring 框架 4.0 和 Spring security 3.2.4 上的 Spring Security SAML 扩展

Spring Security入门(3-6)Spring Security 的鉴权 - 自定义权限前缀

Spring Security入门(3-4)Spring Security 异常处理异常传递和异常获取

Spring Security入门(3-5)Spring Security 的鉴权 - 决策管理器和投票器

Spring Security - 访问被拒绝(用户不是匿名的)spring-security-core-4.0.3.RELEASE

Grails 3.3.9 spring security 3.2.3 spring security ui 3.1.2 无法更改用户数据