我試圖找出一種簡單的方法來驗證username
和password
使用Java (JNDI)
,在我已經使用綁定(綁定DN和密碼)連接到LDAP之後。我已經在LDAP中手動添加了一個用戶,並且我想使用java來檢查驗證用戶的憑據(用戶名和密碼)。驗證用戶名密碼java ldap jndi
這是一個簡單明瞭的方法嗎?
下面的代碼我到目前爲止用於使用綁定(工作)連接到LDAP。
package org.jacob.testing;
import java.util.Hashtable;
import javax.naming.AuthenticationException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.*;
import javax.naming.ldap.LdapContext;
public class jacobLdap {
public static void main(String[] args) throws NamingException {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost:10389");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "uid=admin,ou=system");
env.put(Context.SECURITY_CREDENTIALS, "secret");
DirContext ctx = new InitialDirContext(env);
NamingEnumeration answer = ctx.search("ldap://localhost:10389/ou=users,ou=system","(sn=Herring)",null);
// I've connected to LDAP, now how should I authenticate a user?
}
}
你可以試着做一個綁定作爲新用戶。 – Franz
這種情況是關閉還是仍然有問題? –