`

ladp study

    博客分类:
  • ladp
阅读更多
  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);
		}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    LADP基础培训,初步了解LADP

    ### LDAP基础培训:深入了解LADP #### 一、什么是目录服务和LDAP标准? 目录服务是一种特殊类型的数据库,专门设计用于存储描述性信息,这些信息通常基于属性,并且支持过滤功能。目录服务的特点在于其动态性、...

    ladp_admin 工具

    标题中的"ladp_admin工具"实际上是指`LdapAdmin`,这是一个专为OpenLDAP设计的管理工具。OpenLDAP是一款开源的LDAP服务器,广泛用于构建组织的用户身份和权限管理系统。`LdapAdmin`作为其配套的客户端工具,帮助管理...

    LADP属性查看软件,十分方便,并且可修改LADP属性值等等

    这个小软件是用于查看LDAP属性的,非常方便

    ladp.rar_ladp_ldap

    **LDAP(Lightweight Directory Access Protocol)轻量级目录访问协议** LDAP是一种开放的、基于X...通过使用如ladp.xls这样的资源,我们可以深入了解LDAP术语及其在实际应用中的含义,从而更好地利用这一强大的技术。

    java实现对ladp增 删 改 查操作,以及如何按目录遍历节点

    java实现对ladp增 删 改 查操作,以及如何按目录遍历节点,其中有一点设计业务的代码,但是不影响对ladp操作的代码,代码很干净

    LADP服务器安装LADP服务器安装.doc

    【LDAP服务器安装】 LDAP(Lightweight Directory Access Protocol)是一种轻量级目录访问协议,常用于组织和存储用户、组、网络资源等数据。本指南将详细介绍如何在Linux系统上安装和配置LDAP服务器。...

    相关ladp相关资料

    **LDAP(Lightweight Directory Access Protocol)简介** LDAP是一种轻量级目录访问协议,它用于访问和管理分布式目录服务。在IT行业中,LDAP被广泛应用于组织内部的身份验证、用户权限管理和数据存储。...

    LADP的应用文档自己总结的

    以上就是关于LADP(可能是打错了,应为LDAP)的应用文档的详细内容,涵盖了从基础概念、特点到安装配置、目录结构、数据交换格式,以及在Java中的使用方法。这些知识对于理解和实施基于LDAP的解决方案至关重要。

    Spring-ladp-reference

    根据给定的文件信息,以下是对“Spring-LDAP”参考文档的知识点总结与扩展: ### Spring-LDAP概述 Spring-LDAP是Spring框架的一部分,专注于提供与轻量级目录访问协议(LDAP)集成的功能。它简化了开发人员在Java...

    ladp.rar_ADOS

    本压缩包"ladp.rar_ADOS"包含两个关键文件:uLDAP.pas和Linldap.pas,它们可能是用Pascal语言编写的Delphi源代码,用于实现通过LDAP协议验证用户信息的功能。 首先,让我们深入了解ADOS和ADO(ActiveX Data Objects...

    最好的浏览器ladp3.1

    Your JXplorer - A Java Ldap Browser download will start shortly

    ldapLeaning:ladp学习

    ldapLeaningLDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN (Distinguished Name)的属性(Attribute),DN是用来引用条目的...

    SSO.rar_CAS SSO_ladp sso_ldap_linux sso_sso

    SSO(Single Sign-On)是一种身份验证机制,它允许用户在一个系统中登录后,无需再次认证即可访问其他多个相互信任的系统。在这个场景中,我们关注的是如何在Linux环境中利用LDAP(Lightweight Directory Access ...

    LADP毕业实习报告(计算机、软件实习)基于LDAP认证和MOM的分布式会议系统

    【LDAP(轻量级目录访问协议)】 LDAP是一种开放的标准,用于访问和管理网络中的分布式目录服务。在分布式会议系统中,LDAP起到了用户身份验证和权限管理的关键作用。...通过使用LDAP,系统能够快速查找、验证和管理...

    OTRS6 同步ladp的 服务人员以及客户人员的配置 config.pm

    OTRS6 系统同步ldap的服务人员以及客户人员的配置文件

    asa_ldap_authenticationASA防火墙LDAP配置指南.pdf

    asa_ldap_authenticationASA防火墙LDAP配置指南.pdf

    使用LDAP进行AD验证的程序

    使用LDAP进行AD验证的程序,自己测试过了,可以用

    CenotOS 5.2 下安装Ldap+postfix邮件服务器

    在CenotOS 5.2操作系统环境下搭建Ldap+postfix邮件服务器是一个涉及多个步骤和技术集成的过程。首先,Ldap(轻量级目录访问协议)用于存储和管理用户信息,而postfix是一款流行的SMTP服务器,负责邮件的发送和接收。...

    Laravel开发-laravel-ldap

    **Laravel 开发与 LDAP 集成** 在 Laravel 框架中,LDAP(Lightweight Directory Access Protocol)集成允许开发者轻松地与企业级身份验证系统进行交互,如 Active Directory 或 OpenLDAP。Laravel 提供了一个名为 ...

Global site tag (gtag.js) - Google Analytics