Hashtable env = new Hashtable();   
     env.put(Context.PROVIDER_URL,"ldap://appserver1.mts.com:389");   
     env.put(Context.SECURITY_AUTHENTICATION, "simple");
     //env.put(Context.SECURITY_PRINCIPAL, "[email protected]"); //用户名
     env.put(Context.SECURITY_PRINCIPAL, "mts\\bbb"); //用户名
    // env.put(Context.SECURITY_PRINCIPAL, "mts\\administrator"); //用户名   
     env.put(Context.SECURITY_CREDENTIALS, "p@ssword"); //密码   
     env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");   
     LdapContext ctx = new InitialLdapContext(env, null);  
上面的代码连接AD校验、很奇怪。mts\\administrator 校验可以通过,但是在同级目录下用[email protected]或者mts\\bbb登陆就报异常了
javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1
at com.sun.jndi.ldap.LdapCtx.mapErrorCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.processReturnCode(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.connect(Unknown Source)
at com.sun.jndi.ldap.LdapCtx.<init>(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(Unknown Source)
at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(Unknown Source)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.ldap.InitialLdapContext.<init>(Unknown Source)
at Test.init(Test.java:51)
at Test.main(Test.java:135)