如何使用带LDAP的Spring安全性获取用户信息

如何使用带LDAP的Spring安全性获取用户信息,spring,authentication,spring-security,ldap,Spring,Authentication,Spring Security,Ldap,Im使用Spring3.1.1和SpringSecurity3.2.0以及LDAP验证。 我已经做到了一点,工作正常,我可以使用我的LDAP用户名和密码登录,我甚至可以用这个显示用户名 <security:authentication property="principal.username" />, is currently logged in. ,当前已登录。 我想知道,如果可能的话,我如何获得名字、姓氏、电子邮件地址或LDAP凭据中存储的其他信息 我尝试了property=

Im使用Spring3.1.1和SpringSecurity3.2.0以及LDAP验证。 我已经做到了一点,工作正常,我可以使用我的LDAP用户名和密码登录,我甚至可以用这个显示用户名

<security:authentication property="principal.username" />, is currently logged in.
,当前已登录。
我想知道,如果可能的话,我如何获得名字、姓氏、电子邮件地址或LDAP凭据中存储的其他信息

我尝试了
property=“credentials”
,但返回空值


请帮忙

实现您自己的UserDetailsContextMapper并将LDAP用户属性加载到UserDetails对象中


实现您自己的UserDetailsContextMapper,并将LDAP用户属性加载到UserDetails对象中


这与我几天前的问题非常相似:

如果不使用Active Directory,只需扩展
ldapaauthenticationprovider
类并覆盖
loadUserAuthorities
方法,即可根据用户的LDAP属性捕获相关用户信息:

String firstName = userData.getStringAttribute("givenName");
String lastName = userData.getStringAttribute("sn");

//etc.
您可以在任何地方或以任何方式存储这些内容,并且仅限于通过LDAP提供的属性。然后,您必须在适当的bean中指定您的LdapAuthoritiesProvider(如果内存可用,则为ldapAuthoritiesPopulator)


我相信上述方法对非AD LDAP有效,但显然需要对其进行测试才能确定。如果您还没有使用,我建议您使用。

这与我几天前的问题非常相似:

如果不使用Active Directory,只需扩展
ldapaauthenticationprovider
类并覆盖
loadUserAuthorities
方法,即可根据用户的LDAP属性捕获相关用户信息:

String firstName = userData.getStringAttribute("givenName");
String lastName = userData.getStringAttribute("sn");

//etc.
您可以在任何地方或以任何方式存储这些内容,并且仅限于通过LDAP提供的属性。然后,您必须在适当的bean中指定您的LdapAuthoritiesProvider(如果内存可用,则为ldapAuthoritiesPopulator)

我相信上述方法对非AD LDAP有效,但显然需要对其进行测试才能确定。如果您尚未使用,我建议使用。

此链接为我提供404:(某个地方有更新的副本吗?尝试此链接此链接为我提供404:(某个地方有更新的副本吗?尝试此链接)