如何使用带LDAP的Spring安全性获取用户信息
Im使用Spring3.1.1和SpringSecurity3.2.0以及LDAP验证。 我已经做到了一点,工作正常,我可以使用我的LDAP用户名和密码登录,我甚至可以用这个显示用户名如何使用带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=
<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:(某个地方有更新的副本吗?尝试此链接)