java – LDAP:如何使用sAMAccountName对用户进行身份验证?
作者:互联网
当用户传递sAMAccountName和密码时,我无法进行身份验证.
如果我做了下面的话:
env.put(Context.SECURITY_PRINCIPAL, "CN="+username+",OU=Service Accounts,OU=TECH,DC=wawalab2,DC=ins");
env.put(Context.SECURITY_CREDENTIALS, password);
它抛出异常:
javax.naming.AuthenticationException: [LDAP: error code 49 – 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 525, vece
Note: I can use Spring LDAP framework too.
解决方法:
首先,525错误是坏DN.您可以在此链接中看到AD返回的LDAP错误列表:AD LDAP Error codes
所以你的DN不好.您要做的是搜索samAccountName = username,从返回的值中获取DN,并使用该适当的DN绑定.
标签:java,spring,ldap,spring-ldap 来源: https://codeday.me/bug/20190630/1331954.html