【发布时间】:2011-02-09 21:46:52
【问题描述】:
我目前的 ldap 身份验证上下文设置如下:
<ldap-server url="ldap://host/dn"
manager-dn="cn=someuser"
manager-password="somepass" />
<authentication-manager>
<ldap-authentication-provider user-search-filter="(samaccountname={0})"/>
</authentication-manager>
现在,我需要能够设置自定义权限映射器(它使用不同的 ldap 服务器) - 所以我假设我需要设置类似于 (http://static.springsource.org/spring-security/site/docs/2.0.x/reference/ldap.html) 的 ldap 服务器:
<bean id="ldapAuthProvider"
class="org.springframework.security.providers.ldap.LdapAuthenticationProvider">
<constructor-arg>
<bean class="org.springframework.security.providers.ldap.authenticator.BindAuthenticator">
<constructor-arg ref="contextSource"/>
<property name="userDnPatterns">
<list><value>uid={0},ou=people</value></list>
</property>
</bean>
</constructor-arg>
<constructor-arg>
<bean class="org.springframework.security.ldap.populator.DefaultLdapAuthoritiesPopulator">
<constructor-arg ref="contextSource"/>
<constructor-arg value="ou=groups"/>
<property name="groupRoleAttribute" value="ou"/>
</bean>
</constructor-arg>
</bean>
但是,如何在安全上下文中将“ldapAuthProvider”引用到 ldap-server?
我也在用spring-security 3,所以''不存在...
【问题讨论】:
-
当我看到你的标题问题并阅读下面的信息时,我很困惑。对我来说,Authentication 连接到用户名和密码,而据我了解,您的实际问题是 Authorisation。正如下面的答案已经提到了自定义填充器,例如这个detail description of a custom populator。您可以将文本更改为权限填充器吗? :)
标签: java authentication spring-security