active-directory – 尝试使用userPrincipalName进行连接时出现LDAPException

我们围绕LDAP对客户端进行了新的增强,以使用userPrincipalName启用登录.他之前使用sAMAccountName登录.当用户尝试在其测试环境中测试应用程序时,他会收到userPrincipalName的以下错误:

netscape.ldap.LDAPException: error result (49); 80090308: LdapErr: DSID-0C0903C5, comment: AcceptSecurityContext error, data 52e, v23f0 |#]

我知道的是因为LDAP的凭据无效.但是,当他使用sAMAccountName进行日志记录时,他能够登录.

我的Web应用程序日志显示,当他使用userPrincipalName登录时,它在LDAP中找到,但是当它尝试使用用户名和密码连接到LDAP时,则抛出上述异常.

然而,他能够使用sAMAccountName成功登录.

Dn的用法如下:

OU=IS (Technical Staff),OU=PXXX,DC=pxxx,DC=local , and
OU=Users,OU=PXXX,DC=pxxx,DC=local

任何有助于进一步调试该问题的帮助将受到高度赞赏.

如果您需要更多详细信息,请与我们联系.

添加新信息,客户的域名是pxxx.local,其中userPrincipalName类似于abc.xyz@pxxx.org.uk.我需要更改Dn吗?
请客户真正推动一些回复.

感谢致敬,
尼廷

最佳答案 这个问题现在解决了.问题是,对于sAMAccountName,当我尝试从我的java应用程序登录时,您需要附加LDAP域以进行登录.

对于userPrincipalName,如果附加LDAP域,则登录失败.

因此,修改后的代码使得对于userPrincipalName,我们没有附加解决该问题的LDAP域.

点赞