package mypack;
import java.util.*;
import javax.naming.*;
import javax.naming.directory.*;
public class ADCheck {
public static void main(String[] args) {
try {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL,"LDAP://myad.com:385");
env.put(Context.SECURITY_AUTHENTICATION,"DIGEST-MD5");
env.put(Context.SECURITY_PRINCIPAL,"MY_USER_NAME");
env.put(Context.SECURITY_CREDENTIALS, "MY_PASSWORS");
DirContext ctx = new InitialDirContext(env);
ctx.close();
} catch(NamingException ne) {
System.out.println("Error authenticating user:");
System.out.println(ne.getMessage());
return;
}
System.out.println("OK, successfully authenticating user");
}
}
获取错误:
javax.naming.AuthenticationException:[LDAP:错误代码49 - 8009030C: LdapErr:DSID-0C09043E,注释:AcceptSecurityContext错误,数据0,vece。
请帮助
答案 0 :(得分:0)
https://www.fuzeqna.com/sonicwallkb/consumer/kbdetail.asp?kbid=5266
在对Active Directory服务器进行身份验证测试时,您可能会看到 这个错误:
身份验证错误:[LDAP:错误代码49 - 8009030C:LdapErr: DSID-0C09043E,注释:AcceptSecurityContext错误,数据0,vece]。
解决方案或解决方法:
如果远程域配置中的主机类型是,则会发生这种情况 不正确。将主机类型更改为Active Directory(反之亦然):
同时检查 http://www.websina.com/bugzero/faq/ldap-error-code-49.html
答:此错误是由于错误的设置引起的 java.naming.security.principal。
此处必须使用完整的DN,例如:
CN = FName参数 LName的,OU = OrgUnit_the_user_stored_in,DC =域名称,DC = Domain_suffix