2011-12-23 37 views
0

我使用Spring Security的3.1RC2,我现在用的是org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider对象:通用名称

<security:authentication-manager> 
    <security:authentication-provider ref="adAuthenticationProvider" /> 
</security:authentication-manager> 

<bean id="adAuthenticationProvider" 
     class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider"> 
    <constructor-arg value="DOMAIN" /> 
    <constructor-arg value="ldap://1.1.1.1/" /> 
</bean> 

我可以SecurityContextHolder.getContext()获得安全性方面,这将导致我的用户名该用户,但我想弄清楚我可以如何进一步获得通用名称。

回答

0

作为身份验证的结果,您将在返回的身份验证对象中获取UserDetails对象。这是通过实现UserDetailsContextMapper策略完成的,该策略用于将用户详细信息映射到LDAP上下文数据。查询http://static.springsource.org/spring-security/site/docs/3.0.x/reference/ldap.html获取更多信息。

+0

您是否知道3.1中新的AD内容?我期望避免在两个地方跟踪LDAP信息(一个在Spring Security配置中,另一个在我可以用于手动LDAP绑定的地方)。 – Nik 2011-12-23 15:32:39

+0

我没有看到Spring Security 3.1中提到的新增功能? http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#new-3.1-highlevel为了避免两个地方的LDAP配置使用属性文件。 Spring可以从属性文件读取,也可以使用来自其他模块/应用程序的相同属性文件。 – 2011-12-23 15:48:11