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 添加角色?的主要内容,如果未能解决你的问题,请参考以下文章