Java-ldap-Authentifizierungs-Problem

Ich versuche, meine benutzerdefinierte java-Anwendung verwenden Sie unser Active Directory-Server für die Authentifizierung, aber ich kann es nicht aus irgendeinem Grund arbeiten. Kann jemand sehen, warum das so ist? Hier ist meine Methode unten:

private boolean authenticate(String serverName, String userId, String password) throws NamingException {
    DirContext ctx = null;
    Hashtable env = new Hashtable(11);
    boolean b = false;
    try {
        env.put(Context.INITIAL_CONTEXT_FACTORY,
        "com.sun.jndi.ldap.LdapCtxFactory");
        env.put(Context.PROVIDER_URL, "ldap://servername.org:389");
        env.put(Context.SECURITY_AUTHENTICATION, "simple");
        env.put(Context.SECURITY_PRINCIPAL, "uid="+ userId +",ou=All Users,dc=site,dc=org");
        env.put(Context.SECURITY_CREDENTIALS, password);
        System.out.println("before context");
        //If there isn't a naming exception then the user is authenticated. Return true
        ctx = new InitialDirContext(env);
        //The user is authenticated.
        b = true;
    } catch (NamingException e) {
        System.out.println("the user is not authenticated return false");
        b = false;
    }finally{
        if(ctx != null)
            ctx.close();
    }
    return b;
}

Ergebnis:

[12/14/11 16:27:47:746 CST] 0000001f SystemErr     R
javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error, data 52e, vece
  • was passiert? können Sie nach einem stack-trace?
  • Ich bekomme ein ldap-Fehler-code 49 ist ein Authentifizierungsfehler. Allerdings werden die Anmeldeinformationen ich bin liefert, korrekt sind. Ich bin in der Lage, um die Anmeldung zu meinem windows-Rechner und anderen Servern mit.
  • hat Ihr ldap-Verschlüsselung erforderlich? verwenden Sie keine spezifische Verbindungsparameter, die Ihnen wichtig sind zu teilen? Ansonsten ist es nur raten.
InformationsquelleAutor bschupbach | 2011-12-14
Schreibe einen Kommentar