ldap数据库(如何使用java链接ldap数据库)
本文目录
如何使用java链接ldap数据库
public static void main(String args) { String url = “ldap://10.0.0.10:389/“; String domain = “dc=dtas,dc=com“; String user = “cn=administrator,cn=users“; String password = “111111“; Hashtable《String, String》 env = new Hashtable《String, String》(); env.put(Context.INITIAL_CONTEXT_FACTORY, “com.sun.jndi.ldap.LdapCtxFactory“); // LDAP 工厂 env.put(Context.SECURITY_AUTHENTICATION, “simple“); // LDAP访问安全级别 env.put(Context.PROVIDER_URL, url); env.put(Context.SECURITY_PRINCIPAL, user+“,“+domain); // 填DN env.put(Context.SECURITY_CREDENTIALS, password); // AD Password env.put(“java.naming.ldap.attributes.binary“, “objectSid objectGUID“); LdapContext ldapCtx = null; try { ldapCtx = new InitialLdapContext(env , null); queryGroup(ldapCtx); //queryUser(ldapCtx); } catch (NamingException e) { e.printStackTrace(); } finally { if(ldapCtx != null) { try { ldapCtx.close(); } catch (NamingException e) { } } } } private static void queryGroup(LdapContext ldapCtx) throws NamingException { SearchControls searchCtls = new SearchControls(); searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE); String searchFilter = “objectClass=organizationalUnit“; String searchBase = “ou=myDeptSubDept,ou=myDept,dc=DS-66,dc=com“; String returnedAtts = {“distinguishedName“, “objectGUID“, “name“}; searchCtls.setReturningAttributes(returnedAtts); NamingEnumeration《SearchResult》 answer = ldapCtx.search(searchBase, searchFilter, searchCtls); while (answer.hasMoreElements()) { SearchResult sr = answer.next(); Attributes Attrs = sr.getAttributes(); if (Attrs != null) { NamingEnumeration《?》 ne = Attrs.getAll(); while(ne.hasMore()) { Attribute Attr = (Attribute)ne.next(); String name = Attr.getID(); Enumeration《?》 values = Attr.getAll(); if (values != null) { // 迭代 while (values.hasMoreElements()) { String value = ““; if(“objectGUID“.equals(name)) { value = UUID.nameUUIDFromBytes((byte) values.nextElement()).toString(); } else { value = (String)values.nextElement(); } System.out.println(name + “ “ + value); } } } System.out.println(“=====================“); } } }
ldap是什么意思
LDAP指轻型目录访问协议。
轻型目录访问协议(英文:Lightweight Directory Access Protocol,缩写:LDAP,/ˈɛldæp/)是一个开放的,中立的,工业标准的应用协议,通过IP协议提供访问控制和维护分布式信息的目录信息。
目录服务在开发内部网和与互联网程序共享用户、系统、网络、服务和应用的过程中占据了重要地位。例如,目录服务可能提供了组织有序的记录集合,通常有层级结构,例如公司电子邮件目录。同理,也可以提供包含了地址和电话号码的电话簿。
协议内容
LDAP目录与普通数据库的主要不同之处在于数据的组织方式,它是一种有层次的、树形结构。所有条目的属性的定义是对象类object class的组成部分,并组成在一起构成schema;那些在组织内代表个人的schema被命名为white pages schema。
LDAP是啥意思
LDAP的英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。怎么使用LDAP这个术语呢? 在日常交谈中,你可能会听到有些人这么说:“我们要把那些东西存在LDAP中吗?”,或者“从LDAP数据库中取出那些数据!”,又或者“我们怎么把LDAP和关系型数据库集成在一起?”。严格地说,LDAP根本不是数据库而是用来访问存储在信息目录(也就是LDAP目录)中的信息的协议。更为确切和正式的说法应该是象这样的:“通过使用LDAP,可以在信息目录的正确位置读取(或存储)数据”。但是,也没有必要吹毛求疵,尽管表达得不够准确,我们也都知道对方在说什么。参考:http://www.linuxaid.com.cn/engineer/brimmer/html/LDAP.htm#_
更多文章:
x86是多少位(为什么32位系统是X86,不是32呢,而64位又是64呢)
2025年4月3日 02:40
plm项目管理系统(PLM系统中的项目管理给企业带来哪些效益)
2025年3月3日 08:10
乱码入口一二三2020(hao123主页怎么一打开全是乱码 各位 怎么才能解决)
2025年3月28日 17:20
javascript高级程序员招聘(现在程序员一个月的工资大概多少)
2025年3月19日 18:40
免费制作h5页面的软件(比如易企秀、凡科这个两个都是免 费的h5工具吗哪个好用)
2025年2月27日 18:00
入门级摩托车(入门级颜值、性价比兼顾的摩托车,看这几款就够了!)
2025年2月21日 19:10
cocoscreator(关于cocos creator的问题)
2025年2月14日 08:40
电脑浏览器怎么返回到前一页?oppor15手机怎么返回上一页
2025年4月10日 14:20
一线城市cvs怎么转化到四线城市?Kv cvs渠道销售什么意思
2025年3月19日 16:50
lookup和find函数套用(EXCEL函数 FIND LOOKUP)
2025年3月28日 12:50