环境tomcat,oracle,
因为web需要一些帐户信息和配置信息,而这些信息是保存在公司mail服务器的ldap目录上的,
因此在jsp中需要实现连接ldap,并从中获取基本的帐户信息,密码验证。期待大家给出一些指导和例子,代码。
因为web需要一些帐户信息和配置信息,而这些信息是保存在公司mail服务器的ldap目录上的,
因此在jsp中需要实现连接ldap,并从中获取基本的帐户信息,密码验证。期待大家给出一些指导和例子,代码。
import javax.naming.Context;
import javax.naming.NamingEnumeration;
import javax.naming.NamingException;
import javax.naming.directory.DirContext;
import javax.naming.directory.SearchControls;
import javax.naming.directory.SearchResult;
import javax.naming.ldap.Control;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;
/**
* We will use this class to authenticate user's intranet ID and password
* */public class UserAuthenticate {
private String URL = "ldap://cnho-s1.cn.auchan.com/";
private String BASEDN = "ou=cn,o=auchan";
private String FACTORY = "com.sun.jndi.ldap.LdapCtxFactory";
private LdapContext ctx = null;
private Hashtable env = null;
private Control[] connCtls = null;
/**
* connect to LDAP server anonymous
* */ private void LDAP_connect(){
env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,FACTORY);
env.put(Context.PROVIDER_URL, URL+BASEDN);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
try{
ctx = new InitialLdapContext(env,connCtls);
}catch(javax.naming.AuthenticationException e){
System.out.println("Authentication faild: "+e.toString());
}catch(Exception e){
System.out.println("Something wrong while authenticating: "+e.toString());
}
}
有共同需求的同学可以共同讨论下[email protected]