2016-08-23 41 views
0

我們在我們的應用程序中使用LDAP進行Windows身份驗證。可以在LDAP中使用舊密碼登錄

代碼看起來像

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; 
} 

這是工作的罰款。但問題是當用戶更改密碼並設置新密碼時,他可以使用新密碼和密碼登錄。我如何防止這種情況?用戶應該只能使用新密碼登錄。

+0

你使用什麼Windows版本? –

回答

相關問題