2016-08-23 3 views
0

Wir verwenden LDAP für Windows-Authentifizierung in unserer Anwendung.Kann sich mit dem alten Passwort in LDAP einloggen

Der Code sieht aus wie

public LdapContext adAuth(String userName, String passWord, String domainName, String url,String port) { 
    LdapContext ctx = null; 
    try{ 
     Hashtable<String, String> env = new Hashtable<String, String>(); 
     env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); 
     env.put(Context.PROVIDER_URL, "ldap://"+url+":"+port); 
     env.put(Context.SECURITY_AUTHENTICATION, "simple"); 
     env.put(Context.SECURITY_PRINCIPAL, userName + "@" + domainName); 
     env.put(Context.SECURITY_CREDENTIALS, passWord); 
     ctx = new InitialLdapContext(env, null); 
    }catch(NamingException nex){ 
     ctx = null; 
    } 
    return ctx; 
} 

Dies funktioniert gut. Aber das Problem ist, wenn ein Benutzer sein Passwort ändert und ein neues Passwort einrichtet, kann er sich mit dem neuen Passwort und dem Passwort einloggen. Wie verhindere ich das? Der Benutzer sollte sich nur mit dem neuen Passwort anmelden können.

+0

Welche Windows-Version verwenden Sie? –

Antwort

Verwandte Themen