ldap:lightweight directory access protocol轻量级目录访问协议。
一般公司的账户都存在ldap services中,系统可以直接访问该services中的账户作为本系统的账户,这样避免了大量账户的创建。
下载openLDAP software,安装。
在安装目录下,找到sladp.conf文件。可以看见一下配置
suffix "dc=my-domain,dc=com"
rootdn "cn=Manager,dc=my-domain,dc=com"
rootpw secret
suffix在我的理解中就相当于domain,以后你家的entry中都必须用该domain。
rootdn相当于用户名,你对该services操作总要用户验证的。
rootpw相当于密码
默认情况下,你不用配置什么,就可以开始对这个services进行操作
添加entry
ldapadd -D "cn=liu,dc=my-domain,dc=com" -W -f init.ldif
-D输用户名,-W提示输密码,-f你要添加的实体,实体存放在文件里,文件自己创建并放在安装目录下。注意的是用单引号会出错。
init.ldif里面内容
dn:dc=my-domain,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: controversial
dn:cn=liu,dc=my-domain,dc=com
objectClass: person
cn: liu
添加了一个根节点,并在根节点下添加了一个entry。一个dn就代表一个entry。
若第二次添加的时候,文件里就只放entry了。
dn:cn=quan,dc=my-domain,dc=com
objectClass: person
cn: quan
添加后,就可以查询你刚才添加的entry
ldapsearch -D "cn=manager,dc=my-domain,dc=com" -W "cn=liu,dc=my-domain,dc=com"
不想要得话,就删除
ldapsearch -D "cn=manager,dc=my-domain,dc=com" -W -b "cn=liu,dc=my-domain,dc=com"
-b指定要查询的根节点
看一下在程序中如何对ldap service进行操作。这里使用的JLDAP
LDAPConnection lc = new LDAPConnection();
String host = "127.0.0.1";
try {
lc.connect(host, 389); //连接
lc.bind(LDAPConnection.LDAP_V3, "cn=manager,dc=my-domain,dc=com", "secret"); //认证
LDAPSearchResults rs = lc.search("dc=my-domain,dc=com", LDAPConnection.SCOPE_SUB, "objectClass=*", null, false); //查询
while(rs.hasMore()){
LDAPEntry entry = rs.next();
System.out.println(entry.getDN());
}
LDAPAttributeSet las = new LDAPAttributeSet();
las.add(new LDAPAttribute("cn","quan"));
las.add(new LDAPAttribute("objectClass","person"));
las.add(new LDAPAttribute("sn","015"));
LDAPEntry addEntry = new LDAPEntry("cn=quan,dc=my-domain,dc=com",las);
lc.add(addEntry); //添加
lc.delete("cn=quan,dc=my-domain,dc=com"); //删除
lc.disconnect();;
} catch (LDAPException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
可以在代码里面看到增,加,删操作。其中增操作不需要进行认证,则lc.bind就不需要。
在看下另一个方式访问JNDI_LDAP
Hashtable env = new Hashtable(11);
env.put(Context.INITIAL_CONTEXT_FACTORY,
"com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, "ldap://localhost");
try {
// Create the initial directory context
DirContext ctx = new InitialDirContext(env);
// Ask for all attributes of the object
Attributes attrs = ctx.getAttributes("cn=Ryan,dc=my-domain,dc=com");
// Find the surname ("sn") and print it
System.out.println("sn: " + attrs.get("sn").get());
// Close the context when we're done
ctx.close();
} catch (NamingException e) {
System.err.println("Problem getting attribute: " + e);
}
分享到:
相关推荐
### LDAP基础培训:深入了解LADP #### 一、什么是目录服务和LDAP标准? 目录服务是一种特殊类型的数据库,专门设计用于存储描述性信息,这些信息通常基于属性,并且支持过滤功能。目录服务的特点在于其动态性、...
标题中的"ladp_admin工具"实际上是指`LdapAdmin`,这是一个专为OpenLDAP设计的管理工具。OpenLDAP是一款开源的LDAP服务器,广泛用于构建组织的用户身份和权限管理系统。`LdapAdmin`作为其配套的客户端工具,帮助管理...
这个小软件是用于查看LDAP属性的,非常方便
**LDAP(Lightweight Directory Access Protocol)轻量级目录访问协议** LDAP是一种开放的、基于X...通过使用如ladp.xls这样的资源,我们可以深入了解LDAP术语及其在实际应用中的含义,从而更好地利用这一强大的技术。
java实现对ladp增 删 改 查操作,以及如何按目录遍历节点,其中有一点设计业务的代码,但是不影响对ladp操作的代码,代码很干净
【LDAP服务器安装】 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,常用于组织和存储用户、组、网络资源等数据。本指南将详细介绍如何在Linux系统上安装和配置LDAP服务器。...
**LDAP(Lightweight Directory Access Protocol)简介** LDAP是一种轻量级目录访问协议,它用于访问和管理分布式目录服务。在IT行业中,LDAP被广泛应用于组织内部的身份验证、用户权限管理和数据存储。...
以上就是关于LADP(可能是打错了,应为LDAP)的应用文档的详细内容,涵盖了从基础概念、特点到安装配置、目录结构、数据交换格式,以及在Java中的使用方法。这些知识对于理解和实施基于LDAP的解决方案至关重要。
根据给定的文件信息,以下是对“Spring-LDAP”参考文档的知识点总结与扩展: ### Spring-LDAP概述 Spring-LDAP是Spring框架的一部分,专注于提供与轻量级目录访问协议(LDAP)集成的功能。它简化了开发人员在Java...
本压缩包"ladp.rar_ADOS"包含两个关键文件:uLDAP.pas和Linldap.pas,它们可能是用Pascal语言编写的Delphi源代码,用于实现通过LDAP协议验证用户信息的功能。 首先,让我们深入了解ADOS和ADO(ActiveX Data Objects...
Your JXplorer - A Java Ldap Browser download will start shortly
ldapLeaningLDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN (Distinguished Name)的属性(Attribute),DN是用来引用条目的...
SSO(Single Sign-On)是一种身份验证机制,它允许用户在一个系统中登录后,无需再次认证即可访问其他多个相互信任的系统。在这个场景中,我们关注的是如何在Linux环境中利用LDAP(Lightweight Directory Access ...
【LDAP(轻量级目录访问协议)】 LDAP是一种开放的标准,用于访问和管理网络中的分布式目录服务。在分布式会议系统中,LDAP起到了用户身份验证和权限管理的关键作用。...通过使用LDAP,系统能够快速查找、验证和管理...
OTRS6 系统同步ldap的服务人员以及客户人员的配置文件
asa_ldap_authenticationASA防火墙LDAP配置指南.pdf
使用LDAP进行AD验证的程序,自己测试过了,可以用
在CenotOS 5.2操作系统环境下搭建Ldap+postfix邮件服务器是一个涉及多个步骤和技术集成的过程。首先,Ldap(轻量级目录访问协议)用于存储和管理用户信息,而postfix是一款流行的SMTP服务器,负责邮件的发送和接收。...
**Laravel 开发与 LDAP 集成** 在 Laravel 框架中,LDAP(Lightweight Directory Access Protocol)集成允许开发者轻松地与企业级身份验证系统进行交互,如 Active Directory 或 OpenLDAP。Laravel 提供了一个名为 ...