【备忘】Java LDAP 相关操作

来源:互联网 发布:特氟龙耐高温胶带淘宝 编辑:程序博客网 时间:2024/06/05 00:47

java链接LDAP:

package com.mh.ldap.demo;import java.util.Hashtable;import javax.naming.Context;import javax.naming.NamingEnumeration;import javax.naming.directory.InitialDirContext;import javax.naming.directory.SearchControls;public class LDAPUtil {private static final String CONTEXT_FACTORY = "com.sun.jndi.ldap.LdapCtxFactory";private static final String SECURITY_AUTHENTICATION = "simple";private static final String SECURITY_PROTOCOL = "SSL";// NO_SSLprivate static final String PROVIDER_URL = "ldap://127.0.0.1:389";private static final String BASE_DN = "OU=??,OU=??,OU=??,DC=??,DC=??,DC=??";private static final String USERNAME = "domain\\username";private static final String PASSWORD = "password";public static InitialDirContext initContext() {InitialDirContext ctx = null;try {Hashtable<String, String> env = new Hashtable<String, String>();env.put(Context.INITIAL_CONTEXT_FACTORY, CONTEXT_FACTORY);env.put(Context.PROVIDER_URL, PROVIDER_URL);env.put(Context.SECURITY_AUTHENTICATION, SECURITY_AUTHENTICATION);env.put(Context.SECURITY_PRINCIPAL, USERNAME);env.put(Context.SECURITY_CREDENTIALS, PASSWORD);// env.put(Context.SECURITY_PROTOCOL, SECURITY_PROTOCOL);ctx = new InitialDirContext(env);} catch (Exception e) {e.printStackTrace();}return ctx;}public static void findUser(Context context, String username) {InitialDirContext ctx = initContext();try {SearchControls sc = new SearchControls();sc.setSearchScope(SearchControls.SUBTREE_SCOPE);String filter = "<KEY_USERNAME>=" + username;NamingEnumeration en = ctx.search(BASE_DN, filter, sc);while (en != null && en.hasMoreElements()) {// get attributes for this user}} catch (Exception e) {e.printStackTrace();} finally {try {if (ctx != null) {ctx.close();ctx = null;}} catch (Exception e) {e.printStackTrace();}}}}

使用Java操作LDAP案例:

http://cgs1999.iteye.com/blog/1574635

使用Java自带API操作LDAP:

http://my.oschina.net/xpbug/blog/86193

Java与LDAP进行用户认证:

http://www.binghe.org/2011/08/user-authentication-using-ldap-in-java/

0 0