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 无法更改用户数据