Java操作LDAP的基本方法
来源:互联网 发布:初学者学linux 编辑:程序博客网 时间:2024/06/07 04:44
package com.ssc.qe.dac.util;import java.util.Hashtable;import javax.naming.Context;import javax.naming.NamingEnumeration;import javax.naming.NamingException;import javax.naming.directory.Attributes;import javax.naming.directory.DirContext;import javax.naming.directory.InitialDirContext;import javax.naming.directory.SearchControls;import javax.naming.directory.SearchResult; import com.ssc.qe.dac.model.User; public class LdapInfo { //str表示查询的参数 public static User getUser(String username,String password,String str){ User user=new User(); //设置LDAP的参数 Hashtable<String, String> ldapEnv = new Hashtable<String, String>(); ldapEnv.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");//使用的环境 ldapEnv.put(Context.PROVIDER_URL, "ldap://corp.statestr.com:389");//LDAP的根路径 ldapEnv.put(Context.SECURITY_AUTHENTICATION, "simple");//验证方式 ldapEnv.put(Context.SECURITY_PRINCIPAL, username+"@CORP");//用户名 ldapEnv.put(Context.SECURITY_CREDENTIALS,password);//密码 //获取连接 DirContext dirContext=null; try{ dirContext = new InitialDirContext(ldapEnv); SearchControls searchControls = new SearchControls(); //返回元素的结果集。 String filterProperties[] = { "cn", "mail", "samAccountName" }; searchControls.setReturningAttributes(filterProperties); searchControls.setSearchScope(SearchControls.SUBTREE_SCOPE); //过滤数据的条件,根据具体情况而定 String searchFilter = "(|(sAMAccountName="+str+")(cn="+str+")(mail="+str+"))"; String searchBase = "DC=corp,DC=statestr,DC=com"; //执行查找 NamingEnumeration<SearchResult> answer = dirContext.search(searchBase,searchFilter,searchControls); int totalResults = 0; while (answer.hasMoreElements()) { SearchResult sr = (SearchResult) answer.next(); totalResults++; Attributes attrs = sr.getAttributes(); //获得指定的结果 String email=attrs.get("mail").get().toString(); String LanId=attrs.get("samAccountName").get().toString(); String userName=attrs.get("cn").get().toString(); user.setLanId(LanId); user.setUserName(userName); } }catch(Exception e){ e.printStackTrace(); }finally{ try { dirContext.close(); } catch (NamingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return user; } // public static void main(String[] args) {// System.out.println(LdapInfo.getUser("用户名","密码","条件"));// } }
0 0
- Java操作LDAP的基本方法
- jldap实现Java对LDAP的基本操作
- jldap实现Java对LDAP的基本操作
- LDAP学习笔记<四>jldap实现Java对LDAP的基本操作
- ldap的增删改查基本操作
- JAVA_基本LDAP操作
- JAVA_基本LDAP操作实例
- Java LDAP操作
- Java操作Ldap
- JAVA操作Ldap示例
- java简单操作 ldap
- Java LDAP操作
- Java 方法反射的基本操作
- Java方法反射的基本操作
- java对Ldap操作1
- java对Ldap操作4
- java对Ldap操作3
- java对Ldap操作2
- BOM 输入物料反查函数(待测试) CS15功能类似
- HDU 4436 str2int(后缀数组,一种统计n个digit字符串所有不同子串之和的方法)
- struts2的配置文件global-results
- 让sles10支持多处理器
- 第十二周项目三 用递归方法求解(2)求1*3*...*n的递归式
- Java操作LDAP的基本方法
- 第12周项目递归函数返回fib(20)
- Unity3D技术之从 Maya 中导入对象浅析
- web版用户通过浏览器下载图片java后台代码
- 聚合函数与group by问题
- 【原创】Redis内核之事件驱动
- 网络通信P2P JAVA实现过程
- 生成某字符串的所有排列组合
- github git.exe位置