尝试使用userPrincipalName连接时出现LDAPException

Nit*_*ula 5 ldap active-directory ldapconnection

我们对LDAP的客户端进行了新的增强,以启用使用登录userPrincipalName。他先前sAMAccountName用于登录。当用户尝试在其测试环境中测试应用程序时,他遇到以下错误userPrincipalName

netscape.ldap.LDAPException:错误结果(49); 80090308:LdapErr:DSID-0C0903C5,评论:AcceptSecurityContext错误,数据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
Run Code Online (Sandbox Code Playgroud)

进一步调试问题的任何帮助将不胜感激。

如果您需要更多详细信息,请告诉我。

  • 域就像pxxx.local
  • userPrincipalName类似于abc.xyz@pxxx.org.uk。

我需要进行任何更改才能使其正常工作吗?

Nit*_*ula 2

现在问题已解决。问题是,对于 sAMAccountName,当我尝试从 java 应用程序登录时,您需要附加 LDAP 域以进行登录。

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

因此,修改了代码,以便对于 userPrincipalName,我们不会附加 LDAP 域,这解决了问题。

  • Nitin,您能否添加一些示例(它们看起来如何),说明什么对您有效,什么对您无效? (7认同)
  • 一个有效的例子会让这更有帮助 (3认同)