我正在尝试在我的项目中使用 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 制作,如果没有,我想我可以在 DummyUserDetailsService 中获取信息,对吗?
非常感谢,对不起我的英语不好......