`
darklipeng
  • 浏览: 124777 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

LDAP 入门知识

阅读更多

如果你刚接触ldap,你一定看了很多ldap相关的教程,看过很多教程。都不是很好,唯独这一份写得最好。
dn:一条记录的位置
dc:一条记录所属区域
ou:一条记录所属组织
cn/uid:一条记录的名字/ID

实际上更多时候我只把它看成数据库。我把它和我非常熟悉的MYSQL数据库做比较,通常会得到更好的理解:

MYSQL用“表”储存数据,LDAP用“树”
MYSQL指定一条记录要3个条件:DB、TABLE、ROW。
LDAP却更自由,为什么呢?因为LDAP数据是“树”状的,而且这棵树是可以无限延伸的,假设你要树上的一个苹果(一条记录),你怎么告诉园丁它的位置 呢?当然首先要说明是哪一棵树(dc,相当于MYSQL的DB),然后是从树根到那个苹果所经过的所有“分叉”(ou,呵呵MYSQL里面好象没有这 DD),最后就是这个苹果的名字(uid,记得我们设计MYSQL或其它数据库表时,通常为了方便管理而加上一个‘id’字段吗?)。好了!这时我们可以 清晰的指明这个苹果的位置了,就是那棵“歪脖树”的东边那个分叉上的靠西边那个分叉的再靠北边的分叉上的半红半绿的……,晕了!你直接爬上去吧!我还是说 说LDAP里要怎么定义一个字段的位置吧,树(dc=waibo,dc=com),分叉(ou=bei,ou=xi,ou=dong),苹果 (cn=honglv),好了!位置出来了:
dn:cn=honglv,ou=bei,ou=xi,ou=dong,dc=waibo,dc=com

一个有名的画家说过:“世上没有相同的2个鸡蛋”。当然也没有相同的2个苹果……,同样,在LDAP里也不可能存在2个相同的dn。

LDAP数据填充原理
一棵树的生长,要循序渐进,如果还没有长出某个分叉,就不可能在那个分叉里长出苹果(问:FT!苹果是长在分叉上的吗?答:为了便于理解,你就当它是 吧),同样,LDAP数据库也要一步步的充实,举一个学校数据库的例子,我们将要把一个庞大的学生档案放到LDAP里,大致需要这么做:
---------------------------------------------
1、建立“树根”,这是通过修改“slapd.conf”来实现的,由于现在的目的是理解,所以具体步骤就不说了,反正就是在这一步建立了一个 “dc=ourschool,dc=org”这样一个“树根”。注意:我把它理解成“目录”,或者“容器”,甚至它本身也是文件(苹果)的特殊形式,熟悉 LINUX文件系统的朋友会更容易理解。
2、建立18个系,分别是“dn:ou=computer,dc=ourschool,dc=org”、“dn:ou=film,dc=ourschool,dc=org”……
3、当然是在每个系里面建立专业,比如“dn:ou=linux,ou=computer,dc=ourschool,dc=org”……
4、(开始长苹果吧!)加学生喽——“dn:cn=stan,ou=linux,ou=computer,dc=ourschool,dc=org”……
5、已经完成了吗?对了!学生的详细信息还没有呐!不过先这样吧,反正记录是可以编辑的。

LDAP记录的详细信息
dn:cn=stan,ou=linux,ou=computer,dc=ourschool,dc=org
objectClass:organizationalPerson
cn:stan
cn:小刀
sn:小刀
description:agoodboy
(以上是一条记录的信息,如果把他保存成LDIF文件,可以导入到LDAP数据库中)
上面不是说没有学生详细信息吗?怕你着急,就马上写出来了,只是还没有导入到LDAP里,那是以后的事。这里我先就你可能会产生的疑问做回答。
---------------------------------------------
Q1:“cn”不是在“dn”里定义了吗,怎么又在后面重新定义了?答:你要把“cn=stan,ou=linux,ou=computer,dc=ourschool,dc=org”看成是一个整体,它只是属性dn的值。
Q2:怎么后面有2个“cn”,我以哪个为准?答:区别于普通数据库,LDAP每个属性一般可以具有多个值,这样不好吗?你在学校数据库里找我的时候,只要记得我的一个cn就可以了,用“cn=stan”或“cn=小刀”都可以找到我!
Q3:就这些属性了吗?我都不知道你是男是女。答:先声明,偶是男地。LDAP对记录的属性做了严格的限制(这一点我不太喜欢),也就是说,你可以用哪些 属性,哪些属性不能为空,哪些属性最多只能有一个值等,他们都给你规定好了。幸好你有选择的权利,比如这次我们是储存学生信息,那么我们就定义一个 “objectClass:organizationalPerson”,这样“organizationalPerson”这个类所规定的所有属性我们 都可以用了,而且确实很适合我们。虽然这个类中没有“sex”这个属性,不过你完全可以用一个“空闲”的属性来顶替。

分享到:
评论

相关推荐

    LDAP_入门知识

    LDAP_入门知识

    LDAP入门知识

    讲述Ldap的基本概念,和相关字段的含义,适合初学者。

    ldap入门相关知识

    轻量级目录访问协议,LDAP入门知识,可以帮助一些有兴趣学习ldap的求知者初步了解ldap。

    LDAP_入门知识,自学文档

    LDAP的入门知识,自学很有用,多花点时间看,会有收获的!

    PHP从入门到精通.pdf-入门教程.CHM

    所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会PHP程序开发的精髓,快速提高开发技能。《PHP从入门到精通》所配DVD光盘含有全程语音视频讲解教学录像以及实例的全部源代码,...

    PHP从入门到精通.pdf

    所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会PHP程序开发的精髓,快速提高开发技能。《PHP从入门到精通》所配DVD光盘含有全程语音视频讲解教学录像以及实例的全部源代码,...

    PHP 从入门到精通

    所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会PHP程序开发的精髓,快速提高开发技能。《PHP从入门到精通》所配DVD光盘含有全程语音视频讲解教学录像以及实例的全部源代码,...

    PHP入门到精通

    第1篇 基础知识 1.初识PHP(教学录像:23分42秒) 1.1PHP概述 1.2扩展库 1.3前期准备工作 1.4网站建设的基本流程 1.5PHP的学习资源 1.6如何学好PHP 2.PHP环境搭建和开发工具(教学录像:36分3秒) 2.1PHP开发环境和...

    PHP入门到精通02

    第1篇 基础知识 1.初识PHP(教学录像:23分42秒) 1.1PHP概述 1.2扩展库 1.3前期准备工作 1.4网站建设的基本流程 1.5PHP的学习资源 1.6如何学好PHP 2.PHP环境搭建和开发工具(教学录像:36分3秒) 2.1PHP开发环境和...

    《PHP高级编程》PDF]

    本书介绍PHP的基本知识与高级特性,指导读者从入门到精通掌握PHP技术。 内容包括PHP的变量、函数、语句、表达式,PHP对文件的处理,PHP的模块,如MySQL、XML、LDAP、GD,用PHP发送电子邮件,PHP的安全特性等。本书还...

    Linux系统安全与优化

    这本书的英文版“Get Acquainted with Linux ... 请注意,这本书不是Linux的入门书籍,读这本书需要有Linux或者Unix的背景知识。如果你已经安装过Linux而且能够使用一些简单的Unix命令,那么这本书会对你有很大的帮助。

    深入掌握J2EE编程技术(卷二)

    本书全面介绍了JSP层,EJB层和EIS层的设计思想与编程技术,涉及的内容包括:JDBC,JNDI,LDAP,Servlet,JSP,Taglib,EJB,J2EE Connector,SAX与DOM,RMI,CORBA,JavaMail和JMS。这些内容基本覆盖了J2EE平台开发...

    深入掌握J2EE编程技术(卷一)

    本书全面介绍了JSP层,EJB层和EIS层的设计思想与编程技术,涉及的内容包括:JDBC,JNDI,LDAP,Servlet,JSP,Taglib,EJB,J2EE Connector,SAX与DOM,RMI,CORBA,JavaMail和JMS。这些内容基本覆盖了J2EE平台开发...

    Professional.PHP.Programming(php高级编程)

    介绍PHP的基本知识与高级特性,指导读者从入门到精通掌握PHP技术。内容包括PHP的变量、函数、语句、表达式,PHP对文件的处理,PHP的模块,如MySQL、XML、LDAP、GD,用PHP发送电子邮件,PHP的安全特性等。本书还介绍...

    熟悉Linux系统的安全和优化 中文版 488页

    英文原作者是个极为有经验的工程师,这本书...请注意,这本书不是Linux的入门书籍,读这本书需要有Linux或者Unix的背景知识。如果你已经安装过Linux而且能够使用一些简单的Unix命令,那么这本书会对你有很大的帮助。

    Java数据编程指南

    Java和ODMG 3.0规范 基础 ODMG的核心概念 对象定义语言 小结 第11章 目录服务与JNDI 命名与目录服务 使用JNDI JAVA与LDAP 从理论到实践 标准的LDAP操作 LDAP服务器改进 在LDAP...

    iBATIS实战

    11.2.1 示例:为LDAP使用DAO 203 11.2.2 示例:为Web服务使用DAO 208 11.3 使用Spring DAO 209 11.3.1 编写代码 209 11.3.2 为什么使用Spring代替iBATIS 211 11.4 创建自己的DAO层 211 11.4.1 从实现中分离出接口 ...

    java开源包1

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包11

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

    java开源包2

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java...

Global site tag (gtag.js) - Google Analytics