【问题标题】:Spring Security, Kerberos extension and ADSpring Security、Kerberos 扩展和 AD
【发布时间】:2013-04-16 11:07:17
【问题描述】:

我正在尝试在我的项目中使用 Kerberos 身份验证。这是我公司的内部服务,我想对用户进行身份验证,并从我们的 Active Directory 中检索用户组。 为此,我使用了 Spring Security、Kerberos 扩展和我们公司的 AD。

问题:我可以使用 Kerberos 进行身份验证,但我们在 AD 上的域是“WAN.CORP.COM”。因此,我使用 username@WAN.CORP.COM 获取我的用户,并且我无法在 AD 上询问此过滤器(userPrincipalName 类似于 username@corp.com)。

我的 security.xml 包含:

<sec:ldap-user-service id="ldapUserService" server-ref="ldapCorp" user-search-filter="(userPrincipalName={0})" />
<sec:ldap-server id="ldapCorp" url="ldap://ldap.wan.corp.com:389/DC=wan,DC=corp,DC=com" manager-dn="CN=ldap read,OU=CORP,DC=wan,DC=corp,DC=com" manager-password="pass" />

但是 Spring Security 发送异常,因为它无法检索 user@WAN.CORP.COM...

有人可以帮助我吗?我想直接通过 Spring Security 实现,如果不行,我想我可以在 DummyUserDetailsS​​ervice 中获取信息,对吗?

非常感谢,抱歉我的英语不好......

【问题讨论】:

    标签: java active-directory spring-security spring-security-kerberos


    【解决方案1】:

    您可以提供自己的 UserDetailsS​​ervice 实现,将 LdapUserDetailsS​​ervice 注入其中。

    在loadUserByUsername方法中你可以修改用户名,然后用修改后的用户名调用LdapUserDetailsS​​ervice的loadUserByUsername。

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 1970-01-01
      • 2020-05-31
      • 1970-01-01
      • 2015-07-30
      • 1970-01-01
      • 2014-10-14
      • 2015-08-27
      • 2020-02-07
      • 2014-12-17
      相关资源
      最近更新 更多