当前位置:文档之家› LDAP协议

LDAP协议

目录服务

目录服务就是按照树状模式组织信息,实现信息管理和服务接口的一种方式。目录服务中一般包括两个方面的内容:第一个组成部分是:数据库,这种数据库有别于日常所用到的关系型数据库,它是一种分布型的数据库,并且需要一个描述数据的规则;第二个组成部分是:访问和处理数据库的相关的协议。

目录服务和关系数据库不同,目录服务不支持批量更新事务处理能力,目录一般只执行简单的更新操作,适合于进行大量数据的检索;目录具有广泛的复制信息的能力,从而在缩短响应时间的同时,提高了可用性和可靠性;目前,目录服务技术的国际标准有两个,即较早的X.500标准和近年迅速发展的LDAP标准。

X.500虽然是一个完整协议群组,但是其目录访问协议DAP这种应用层的协议是严格按照复杂的ISO七层协议模型制定的,对相关层协议环境要求过多,主要运行在unix机器上,在许多小系统上,如PC和Macintosh(苹果机)上无法使用,因此没有多少人按照DAP开发应用程序,TCP/IP协议体系的普及,更使得这种协议越来越不适应需要。

LDAP协议

LDAP全称为Light Directory Access Protocol,轻量级目录访问协议,LDAP 协议从1993年批准,有了V1版本,1997年发布了第三个版本LDAP v3,使得LDAP协议不仅仅做为X.500的简化版,同时提供了LDAP协议许多自有功能特性,LDAP V3协议也不是一个单一的协议,而是一个协议群组,包括内容如下:

RFC2251-LDAP V3协议核心协议,定义了LDAP V3协议的基本模型和操作;RFC2252-定义了LDAP V3基本数据模式(Schema)以及标准的系统数据模式,Schema包括语法、匹配规则、属性类型和对象类;

RFC2253-定义了LDAP V3中的分辨名(Differentiate Name, DN)表达方式;RFC2254-定义了LDAP V3中过滤器的表达方式;

RFC2255-定义了LDAP V3中统一资源地址格式;

RFC2256-定义了在LDAP V3中使用X.500的Schema列表;

RFC2829-定义了LDAP V3的认证方式;

RFC2830-定义了LDAP V3如何通过扩展使用TLS服务;

RFC1823-定义了C的关于LDAP V3客户端开发接口;

RFC2847-定义了LDAP数据导入、导出的文件接口LDIF;

在这些协议中,主要定义了LDAP的内容,同时定义了信息模型,确定了LDAP 目录中所存储的信息的格式和字符集,如何表示目录信息(定义对象类、属性、匹配规则和语法等模式)。

一个命名空间:确定对信息进行的组织方式即就是目录信息树DIT,以DN和RDN 为基础的命名方式,以及LDAP信息的Internet表示方式;

一个功能模型:确定可以在信息上执行的操作的通讯协议以及在客户端尽心这些操作的API接口;

一个安全框架:保证目录中信息的安全,匿名、用户名/密码、SASL等多种认证方式以及与TLS结合的通讯保护框架;

一个操作模型:分布式的操作模型,基于Referral方式的分布式操作框架;

一个LDAP扩展框架:基于控制和扩展操作的LDAP扩展框架。

LDAP的基本模型

信息模型:用来描述LDAP中信息的表达方式。

在LDAP中信息以树状形式组织,在树状信息中基本的信息单元是条目,而每个条目有属性组成,属性中存储有属性的值;LDAP中的信息模式,类似于面向对象的概念,在LDAP中每条目必有属于某个或者多个对象类(Object Class),每个Object Class由多个属性类型组成,每个属性类型有所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必须定义所属的对象类,必须提供对象类中的必选属性类型的属性值,在LDAP中一个属性类型可以对应多个值。

在LDAP中把对象类、属性类型、语法和匹配规则统称为Schema,在LDAP中有许多系统对象类、属性类型、语法和匹配规则,这些系统Schema在LDAP标准中进行了规定,同时不同的应用领域也定义了自己的Schema,同时用户在应用时,也可以根据需要自定义 Schema。这有些类似于XML,除了XML标准中的XML定义外,每个行业都有自己标准的DTD或DOM定义,用户也可以自扩展;也如同XML,在 LDAP中也鼓励用户尽量使用标准的Schema,以增强信息的互联互通。

在Schema中最难理解的是匹配规则,这是LDAP中为了加快查询的速度,针对不同的数据类型,可以提供不同的匹配方法,如针对字符串类型的相等、模糊、大于小于均提供自己的匹配规则。

命名模型:描述LDAP中的数据如何组织 LDAP中的命名模型,也即LDAP中的条目定位方式。在LDAP中每个条目均有自己的DN和RDN。DN是该条目在整个树中的唯一名称标识,RDN是条目在父节点下的唯一名称标识,如同文件系统中,带路径的文件名就是DN,文件名就是RDN。

功能模型:描述LDAP中的数据操作访问

在LDAP中共有四类10种操作:查询类操作,如搜索、比较;更新类操作,如添加条目、删除条目、修改条目、修改条目名;认证类操作,如绑定、解绑定;其它操作,如放弃和扩展操作。除了扩展操作,另外9种是LDAP的标准操作;扩展操作是LDAP中为了增加新的功能,提供的一种标准的扩展框架,当前已经成为LDAP标准的扩展操作,有修改密码和StartTLS扩展,在新的RFC标准和草案中正在增加一些新的扩展操作,不同的 LDAP厂商也均定义了自己的扩展操作。

安全模型:描述LDAP中的安全机制

LDAP中的安全模型主要通过身份认证、安全通道和访问控制来实现。

身份认证在LDAP中提供三种认证机制,即匿名、基本认证和SASL(Simple Authentication and Secure Layer)认证。匿名认证即不对用户进行认证,该方法仅对完全公开的方式适用;基本认证均是通过用户名和密码进行身份识别,又分为简单密码和摘要密码认证;SASL认证即LDAP提供的在SSL和TLS安全通道基础上进行的身份认证,包括数字证书的认证。

通讯安全在LDAP中提供了基于SSL/TLS的通讯安全保障。SSL/TLS是基于PKI 信息安全技术,是目前Internet上广泛采用的安全服务。LDAP 通过StartTLS 方式启动TLS服务,可以提供通讯中的数据保密性、完整性保护;通过强制客户端证书认证的TLS服务,同时可以实现对客户端身份和服务器端身份的双向验证。访问控制虽然LDAP目前并无访问控制的标准,但从一些草案中或是事实上LDAP 产品的访问控制情况,我们不难看出:LDAP访问控制异常的灵活和丰富,在 LDAP 中是基于访问控制策略语句来实现访问控制的,这不同于现有的关系型数据库系统和应用系统,它是通过基于访问控制列表来实现的,无论是基于组模式或角色模式,都摆脱不了这种限制。

在使用关系型数据库系统开发应用时,往往是通过几个固定的数据库用户名访问数据库。对于应用系统本身的访问控制,通常是需要建立专门的用户表,在应用系统内开发针对不同用户的访问控制授权代码,这样一旦访问控制策略变更时,往往需要代码进行变更。总之一句话,关系型数据库的应用中用户数据管理和数据库访问标识是分离的,复杂的数据访问控制需要通过应用来实现。

而对于LDAP,用户数据管理和访问标识是一体的,应用不需要关心访问控制的实现。这是由于在LDAP中的访问控制语句是基于策略语句来实现的,无论是访问控制的数据对象,还是访问控制的主体对象,均是与这些对象在树中的位置和对象本身的数据特征相关。

在LDAP中,可以把整个目录、目录的子树、制定条目、特定条目属性集或符合某过滤条件的条目作为控制对象进行授权;可以把特定用户、属于特定组或所有目录用户作为授权主体进行授权;最后,还可以定义对特定位置(例如IP地址或DNS名称)的访问权

========================================

[转]常用LDAP Server

2007-03-11 09:32:41

大中小

随着存储技术的不断进步,越来越多的公司采用LDAP Server存储数据,其高效和方便性使得其成为实现NGN必不可少的技术之一。

下面是关于几种常用的LDAP Server的简单介绍。

1,openldap 2.X:

OpenLDAP Project由一个志愿者小组组成,其下载地址是https://www.doczj.com/doc/1712065390.html,/software/download/。

.(1). 支持LDAPv3 - OpenLDAP 2.0 除了其它改善外还支持SAS (SimpleAuthentication and Security Layer)、TLS(Transport Layer Security)以及SSL(Secure Sockets Layer)。LDAPv2 之后通讯协议很多的改变都是为了加强LDAP 的安全性。

(2). 支持IPv6 - OpenLDAP 支持新一代的因特网通讯协议第6 版。

(3). LDAP Over IPC - OpenLDAP 能够使用IPC 在系统内进行通讯。这可以避免使用网络通讯以增加安全性。

(4). 使用新的应用程序界面:改善程序设计人员联机及使用程序的方法。

2,openldap for win32

与openldap2.X的功能基本一样,只是安装在windows下面的,有关其文档介绍和下载地址请看

https://www.doczj.com/doc/1712065390.html,/hacks/openldap/。

3,IBM Directory Server 5.1

IBM Directory 实现了 Internet Engineering Task Force (IETF) LDAP V3 规范,在功能和性能方面做了改进。IBM Directory Server 5.1 使用 IBM DB2 作为存储支持,为每个 LDAP 操作提供了事务完整性、高性能操作以及在线备份和恢复功能。

IBM Directory Server 是作为独立式常驻程式执行的(LDAP)目录。在WebSphere Portal 环境中,此目录可存储、更新及获取与识别的使用者特定资料,例如使用者 ID 及密码。

4,iPlanet(SUN directory)

iPlanet适于实现外联网的全球目录服务器。iPlanet Directory Server 为管理大量用户信息的企业,提供用户管理基础服务。iPlanet Directory Server 能够与现存的系统集成,并发挥中央仓库的作用,以适应合并雇员、客户、供应商和伙伴的需要,适应保存信息,保存各种灵活的个性化用户概况和优先选择需要,适应外联网用户验证需要。在托管环境中,伙伴、客户和供应商能够管理他们自己的那部分目录,从而减少内部管理成本,并有利于保障提供精确的最新信息.并具有简化外联网应用开发;目录特性增强可用性;与企业系统相集成;减少管理成本;LDAP v2 和 v3 的实现;高性能服务器;灵活的复制模式;先进的安全特性;高可用性;可扩展体系结构。

5,微软活动目录(AD)

微软活动目录(AD)是Windows 2000操作系统平台的中心组件之一,是一种完善的、适应性强的目录服务,它允许用户进行很高程度上的修改以便满足特殊的商业和机构需求。

活动目录可以让企业有效地共享和管理网络资源和用户信息。此外,活动目录担当网络安全的管理中枢,允许操作系统方便地验证用户身份并控制其对网络资源的访问。同样重要的是,活动目录还担当集中系统和合并管理任务的集成点。使用活动目录服务的好处:为网络管理员、开发者和用户提供了访问目录服务的能力;简化管理任务;加强网络安全性;通过互操作使用现存网络。

6,Novell eDirectory:

Novell eDirectory 与许多开放标准和新兴标准是兼容的。它得到了 Open Group 的 LDAP 认可表示符合轻量目录访问协议版本 3 (LDAP v3) 标准。eDirectory 还支持可扩展标记语言 (XML)、目录服务标记语言 (DSML)、简单对象访问协议 (SOAP) 和许多其它开放标准。这一特性可以帮助企业实现其技术投资的最大化并避免“受制”于任何特定提供商的产品。同样重要的是,eDirectory 真正支持多平台:它运行于 Linux、Windows、Solaris、AIX、NetWare 和 HP-UX 上,因此 eDirectory 是在异构网络中提供身份服务的理想方案。Novell eDirectory 是一种支持Lightweight Directory Access Protocol (LDAP)、基于目录的身份管理系统,它对用户身份、访问特权和其他网络资源实行集中管理。eDirectory 可帮助公司以领先于对手的速度将产品和服务推向市场,在因特网经济中占据竞争优势。

7,Sun ONE Directory Server 5.2

Sun" ONE Directory Server 5.2 是功能强大且具伸缩性的分布式目录服务器,它基于符合工业标准的轻型目录访问协议 (LDAP)。

Sun ONE Directory Server 软件是 Sun Open Net Environment (Sun ONE) 的组成部分,后者是 Sun 推出的基于标准的软件界面、体系结构、平台和专门技术,用于构建和部署按需服务。Sun ONE Directory Server 是构建集中化与分布式数据库的基础,这样建立的数据库可用于内部网,也可跨越外联网从而实现与商业合作伙伴共享数据资源,或者可跨越公用 Internet 做到与客户进行交流。

8,IBM secureWay

===========================================

异构环境下的Single Sign On 解决方法https://www.doczj.com/doc/1712065390.html,/jeet/archive/2005/03/30/128288.html

在Microsoft平台Single Sign On(单点登录)的解决方案中,大多数是采用Active Directory(活动目录)来实现。但在现实的环境中,很多企业出于各种各样的原因(或者是原来用的是Unix、Linux的环境,或是原来有其它

的目录服务)而不愿使用AD服务。这样一来,当使用.net技术来做EAI的时候,会碰到一个问题,怎么样才能实现统一的用户管理与授权?采用数据库的方式,需要维护不同系统中的用户映射,管理不便,实现也较为麻烦。Jeet最近做的一个项目就碰到一个问题,用户原来的BI系统采用的Sun的目录服务,并要求我们所做的系统整合需要与LDAP集成的单点登录,实现用户的统一认证与授权。

本来以为使用System.DirectoryServices就可以很容易的实现访问LDAP服务器,没想到System.DirectoryServices只适合于以LDAP方式表示访问Microsoft的AD,根本不能做到访问其它LDAP标准的服务器。

JAVA有因为其实跨平台的特性,对LDAP的支持是生来俱有的,但.net 不知是否微软有意不提供对其它LDAP服务器的支持。没有办法只能自己找解决方法。多亏了jeet一向喜欢的Novell公司,提供了LDAP Libraries for C#,有基于MIT License的源代码,让我们有可能在.net下操作LDAP服务器,支持Linux与windows平台,是实现EAI不错的选择。因为LDAP Libraireis for C#需要Mono.Security,所以要先安装Mono,可以到https://www.doczj.com/doc/1712065390.html,/Main_Page下载最新的版本的mono并安装。在使用时Jeet碰到一个有趣的问题,下载了一个据说是稳定版本的1.0.6,但在编译LDAP Libraies的代码时却报错,搞了半天才知道是因为mono的问题,重新下载Mono 1.1.4版本把Mono.Security.dll引入工程终于可以成功编译。

结合LDAP Libraries的示例代码与自己的实现方法,成功为客户实现了基于LDAP服务器的单点登录安案。

=============================================

LDAP技术报告

一、目录和目录服务

LDAP(Lightweight Directory Access Protocol)轻型目录访问协议是目录访问协议的一种。因此下面首先介绍什么是目录和目录服务。

目录是一个以一定规则排列的对象的属性集合,是一个存储着关于对象各种属性的特殊数据库,这些属性可以供访问和管理对象时使用,类似电话簿和图书馆卡片分类系统。这里,我们所谈的目录服务是指网络目录服务。目录服务是指一个存储着用于访问、管理或配置网络资源信息的特殊数据库(also called data repository),它把网络环境中的各种资源都作为目录信息,在目录树结构中分层存储,对这些信息可以存储、访问、管理并使用。网络中的这些资源包括用户、各个应用系统、硬件设备、网络设备、数据、信息等。目录服务是为有效的集成管理网络目录中的信息提供服务,是支持网络系统的重要底层基础技术之一。

目录服务将分布式系统中的用户、资源和组成分布式系统的其它对象统一的组织起来,提供一个单一的逻辑视图,允许用户和应用透明地访问网络上的资源。一个由目录服务支持的网络系统是一个集成的、网络化的、统一的系统,而不是各个独立功能部分的简单聚合。在目录服务系统中对象可以根据名字或功能、属性访问,而不是根据机器地址、文件服务器名字和mail地址等访问。在目录服务的基础上开发的应用,易于使用、功能增强和易于管理,目录信息的共享为应用

的开发提供了方便。下一代分布式网络的信息模型和模式是一种基于目录的,当我们进入网络时,是登录到一个基于目录的网络中,而不是登录到某个机器上。目录服务可以存储信息种类:

用户帐户信息(登入名、口令、权限)

用户个人信息(电话号码、地址、雇员ID号)

外围设备配置信息(打印机、调制借调器、传真)

应用程序配置信息

安全信息

网络基础设施配置信息(路由器、代理服务器、INTERNET访问设置)

人们可以想得到的,网络目录中都可以存储

这些信息集中在一个标准数据库中,就可以有多种不同的使用方法。其中,最普通的是供系统管理员用于网络访问控制和网络资源访问控制。目录将成为对许多网络活动进行集中控制的地方。

控制的例子:

用户登入进入一个网络,系统进行认证和权限判定;

用户进入网络后,访问网络中的资源,系统向目录服务查询该用户是否具有使用该资源的权限,并返回所请求资源的物理地址。

个人用户可以使用目录服务存储个人设置信息,并可以对其所有环境进行集中存储和控制。

随着目录服务技术的成熟,人们可以使用该技术通过一些网络设备监视和控制网络传输情况。

目录服务的基本功能:

资源信息的目录式表示、分布存储、资源定位和查找、用户的统一认证、系统资源的统一授权、系统资源信息的共享、系统资源的单点统一管理、安全传输的保证、资源的统一监控等。

目录服务的主要优点:

网络管理工作大大减轻,包括管理网络上的各个应用;

网络的集中管理点;

访问用户信息的集中控制点;

存储在其它条件下很难处理的管理信息

系统资源信息的利用率高、管理的可扩展性好

简单地说,目录的发展经历了书面目录(电话目录、医士列表)——基于计算机的目录(PIM,不易共享、必须访问到响应的软件和计算机)——网络目录(公共的、共享的、统一的)。

传统的目录是计算机或网络基础结目录的一个构件,它向其它应用程序提供服务,但没有提供集成管理的机制,网络上的计算和服务需要一种公共的、分布式的目录,能够跨平台地对应用程序和用户提供集中、统一的服务。目录服务将使网络上的系统资源管理朝着单一的、全网络的目标发展,并能够让用户、管理员以更容易的方式来管理网络环境。目录服务作为一种工具来减少大型网络的管理负担,提供了集中的单点管理和适应复杂环境所必须的灵活性,减轻了非目录服务系统中存在的冗余管理。

通过网络资源逻辑接口,目录服务(ADS)减少了人们为了利用网络功能而必须

对网络掌握的程度。也就是说,普通用户只需要很少的网络知识,就可以通过复杂网络访问和使用资源。用户不需要再了解资源的物理分布,访问本地打印机的方法和访问远程网络资源的方法相同。目录服务(ADS)提供了逻辑表示与资源的网络上的物理位置的连接,从用户的角度看,这可能是转移到基于目录的网络操作系统具有的最大优点。)

目录服务和数据库的区别:

读多于写

一般不支持事务处理

信息访问方式不同(一个是SQL、一个是LDAP的API)

目录中的信息一般不要求严格的一致性

传统的数据库是平面的,无法表示资源之间及资源使用控制的复杂逻辑关系而远远不能满足当前资源信息管理的各种要求。

目录服务与DNS系统的相同之处和不同之处

相同之处:

分布存储

树型层次结构

容错

不同之处:

DNS的功能和目录服务不同,DNS功能单一,本质上是将主机名解析成IP地址。目录服务是可以为多个应用提供网络资源的信息存储和管理,具有广泛的应用特性;

DNS是以一系列文本文件为基础,是一种纯文本式的数据库,无法进行扩展,适应其它功能的要求;

与分布式文件系统的相同在于采用了准树型层次结构,具有一定的授权功能,区别在于:

目录服务表示资源的各种属性信息,可为各种应用提供服务,文件不能表示;目录服务有很强的逻辑表示和分类,文件的组织逻辑性单一,主要按存储位置;文件系统的认证功能较差

独立性强

目录服务的应用举例

C4ISR系统:由多个大的子系统构成,管理问题更为复杂和严重

新的应用:电子商务(IBM)、操作系统(WINDOWS2000)

网络的监控管理

会议系统和PIM

搜索功能

太多的应用——基于目录的应用

原有应用的资源管理的重新开发

二、 LDAP协议的特点

X.500协议是为了便于建立全局、分布式的目录信息而设计的一套协议。它是一种C---S(Client—Server)结构的应用协议,支持用户通过网络访问和维护资源信息,另外还具有几个突出的特点:

支持分布式的目录信息维护,所以每一个运行X.500的服务器都只需负责自己所

管辖的资源信息,只需在本地就可完成信息的更新;

提供强大查询能力,可以让用户随心所欲的设计查询方式;

全局的信息标示,通过这种标示可以唯一的定位信息位置,获取内容;

结构化的信息模式,支持开发者的本地扩展;

遵循统一的标准,所以可以通过标准的方式访问任何一个X.500服务器,获取信息;

X.500协议中包含了这诸多的强大功能,可以说在很大的程度上满足了用户和开发者的要求,但是在用户和开发制的使用过程中却逐渐暴露出其许多的不足之处,阻碍了它的应用和推广,主要集中在使用方式和性能开销上这两个方面,由于X.500是在OSI协议栈上实现的,虽然X.500提供了强大的信息查询功能,但是协议所要求的访问格式却十分复杂,往往难以掌握;其次在运行X.500服务器时对系统的开销要求较高。为了兼顾保留协议的优点和克服这些不尽人意的地方,推出了由X.500目录服务协议延伸发展而来的轻型目录访问协议(Lightweight Drectory Access Protocol,简称LDAP)。LDAP协议继承了X.500的90%左右的功能,同时兼容所有使用X.500协议建立的服务端数据库,避免了重复开发的浪费;在运行开销上却只是X.500的10%。正是由于LDAP具有巨大的优越性,它从一开始仅仅是作为X.500客户层的另一种实现方式,到现在在许多应用中完全替代了X.500协议,成为一个完整实用的应用开发协议。

LDAP在以下四个方面对X.500进行了简化:

传输: LDAP直接运行在TCP上,避免了OSI多层通信的高层开销;

功能: LDAP简化了X.500的功能,抛弃了较少用到的功能和冗余的操作;数据表示:X.500的数据表示结构复杂,LDAP采用简单的字符串对数据进行表示;编码: LDAP用于网络传输的编码规则比 X.500的编码规则更加简单。

总到来说,基于LDAP的目录服务有以下特点。

目的是存储网络资源的信息

结构化的信息框架(面向对象的信息存储方法),采用树型层次式结构表示

在系统中的单点集中(不指物理位置)管理资源,可实现单一登入点

读多于写

基于TCP 协议

Client/Server逻辑结构

标准的访问协议LDAP

强大的搜索功能,允许用户组织复杂的查询要求

维护的分散性(信息可分布存储,具有集中式数据库无可比拟的优越性)

可全球唯一的命名

动态添加和修改信息

容错功能

自动更新和维护存储的信息

方便的备份和恢复功能

安全访问和信息传输的安全

易对资源进行授权管理

LDAP配置

LDAP 中的访问控制列表 本节介绍Senior Level Linux Professional (LPIC-3) 301 考试的303.2 主题的内容。此主题的权值是2。 在本节中,学习如何: ?计划LDAP 访问控制列表 ?了解访问控制语法 ?授予和撤消LDAP 访问权限 LDAP 树中可以存储各种数据,包括电话号码、出生日期和工资表信息。其中一些数据可能是公开的,一些数据可能只能由由特定的人访问。根据用户的不同,同样的信息可能有不同的限制。例如,也许只有记录的所有者和管理员可以更改电话号码,但是每个人都可以读取这些号码。访问控制列表(ACL) 处理这些限制的配置。 计划LDAP 访问控制列表 在开始编写配置之前,应该确定要实现的目标。树的哪部分包含敏感信息?哪些属性需要保护,保护其不被谁访问?如何使用树? ACL 的组件 ACL 条目提供三条信息: 1.ACL 指定what条目和属性 2.ACL 应用于who 3.授予的access级别

指定 “what” 子句时,可以选择根据对象的区分名(distinguished name ,DN )、LDAP 风格的查询筛选器、属性列表或以上三者的 组合来进行筛选。最简单的子句允许一切内容,但也可以有很多限制。 根据 DN 筛选允许您指定精确匹配,比如 ou=People,dc=ertw,dc=com 或正则表达式 (参阅 “正则表达式”) 查询筛选器可以匹配特定的 objectClass 或其他属性。属性列表中的属性名称用逗号分隔。更复杂的匹配条件可以是 “身份是管理员的 ou=People,dc=ertw,dc=com 下的所有密码条目”。 可以灵活地确定将 ACL 应用于 who 。用户一般由绑定到树上的 DN 来识别,这称为 bindDN 。每个 LDAP 条目可以具有一个 userPassword 属性,用于对特定的用户进行身份验证。在一些上下文中,您可以将当前登录的用户称为自己, 这有利于允许用户编辑自己的详细信息。 如果用户没有绑定,则被视为匿名用户。默认情况下,匿名用户可以 读取树,所以您必须决定是否需要更改此行为。可以通过 IP 地址或 用于连接的方法(比如明文和加密的方法)来对匿名用户(或任何用户)进行分割。 一旦确定了 what 和 who ,必须确定访问级别。访问权限可以是无 一直到写 访问。还可以指定用户可以验证条目,但不可以读取;或可以允许用户读取、搜索和比较访问。 无论如何配置您的 ACL ,任何已配置的 rootDN 用户可以完全控制其数据库。不可以对此进行更改,除非将 rootDN 配置从 slapd.conf 中移除。 了解访问控制语法 ACL 的基本格式使用 Backus-Naur Form 表示,也就是: access to [ by [ ] [ ] ]+ 描述 what what 描述 ACL 强制的属性和条目。实现此目标的 BNF 表示法如清单 1 所示。 清单 1. ACL 的 what 部分的 BNF 描述

LDAP认证方式

LDAP认证方式,https加密传输 他们用的是WSS3.0 + LDAP认证方式,https加密传输,主要用于做文档管理,没有任何自己开发的代码在其中。 首先是关于崩溃问题(笔记记载如下): 前两天出了一点小故障,问题描述要比解决方案复杂得多。。 开始可以出现登录页面,但是登录上去就抱错,说找不到default页面,然后看到winows update里面有个sharepoint的升级,就运行了。重启了机器后sharepoint的务就挂了。。。 唯一能想到的修复方法就是运行那个sharepoint配置向导,但是第9步会说spadmin服务没有起,十分伤心。就扔下不管了。 今天有人要用了,只好硬着头皮看看,发现这次配置向导竟然通过了。唉,微软的东西就是搞不懂,不过网站还是起不来,就乱改了一通iis配置,然后又用配置向导修复了好几次,终于可以出现登录页面了,但总说我登录不上。研究了半天估计是ldap配置出了问题,果然一检查是把上面2的web.config给覆盖了,于是恢复了就好了。。。 现在想一想当初可能就是升级后把一些配置给我覆盖了吧。。 然后是关于WSS3.0如何使用LDAP认证的问题: 基本按照网上的一些步骤配置,不过有些改动,详细内容可以参考这个网页: https://www.doczj.com/doc/1712065390.html,/helloitsliam/archive/2006/08/15/10027.aspx 这里只说一下具体做法 1. 从一个装了moss2007的机器上copy一个microsoft.office.server.dll文件放在桌面上,在 C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ISAPI目录,然后将这个文件拖进c:\WINDOWS\assembly目录,注意一定要拖进。。 2. 修改sharepoint管理中心网站和web网站的web.config文件,默认在 c:\Inetpub\wwwroot\wss\VirtualDirectories\80(和另一个管理端口) 在这行和之间加入: 保存关闭。注意useDNAttribute="false"一句比较重要,搜索的资料很多没有说,否则会连不上。3. 打开sharepoint的管理中心(可以从开始->管理工具->),应用程序管理,验证提供程序,编辑现有的默认验证,验证类型选中表单,这里要打开一下匿名的权限(注意稍后再给禁掉),成员身份提供程序要和前面添加的一致,如LdapDemoMembership,角色管理不用填,最下面启用客户端集成,然后保存。

LDAP协议

目录服务 目录服务就是按照树状模式组织信息,实现信息管理和服务接口的一种方式。目录服务中一般包括两个方面的内容:第一个组成部分是:数据库,这种数据库有别于日常所用到的关系型数据库,它是一种分布型的数据库,并且需要一个描述数据的规则;第二个组成部分是:访问和处理数据库的相关的协议。 目录服务和关系数据库不同,目录服务不支持批量更新事务处理能力,目录一般只执行简单的更新操作,适合于进行大量数据的检索;目录具有广泛的复制信息的能力,从而在缩短响应时间的同时,提高了可用性和可靠性;目前,目录服务技术的国际标准有两个,即较早的X.500标准和近年迅速发展的LDAP标准。 X.500虽然是一个完整协议群组,但是其目录访问协议DAP这种应用层的协议是严格按照复杂的ISO七层协议模型制定的,对相关层协议环境要求过多,主要运行在unix机器上,在许多小系统上,如PC和Macintosh(苹果机)上无法使用,因此没有多少人按照DAP开发应用程序,TCP/IP协议体系的普及,更使得这种协议越来越不适应需要。 LDAP协议 LDAP全称为Light Directory Access Protocol,轻量级目录访问协议,LDAP 协议从1993年批准,有了V1版本,1997年发布了第三个版本LDAP v3,使得LDAP协议不仅仅做为X.500的简化版,同时提供了LDAP协议许多自有功能特性,LDAP V3协议也不是一个单一的协议,而是一个协议群组,包括内容如下: RFC2251-LDAP V3协议核心协议,定义了LDAP V3协议的基本模型和操作;RFC2252-定义了LDAP V3基本数据模式(Schema)以及标准的系统数据模式,Schema包括语法、匹配规则、属性类型和对象类; RFC2253-定义了LDAP V3中的分辨名(Differentiate Name, DN)表达方式;RFC2254-定义了LDAP V3中过滤器的表达方式; RFC2255-定义了LDAP V3中统一资源地址格式; RFC2256-定义了在LDAP V3中使用X.500的Schema列表; RFC2829-定义了LDAP V3的认证方式; RFC2830-定义了LDAP V3如何通过扩展使用TLS服务; RFC1823-定义了C的关于LDAP V3客户端开发接口; RFC2847-定义了LDAP数据导入、导出的文件接口LDIF; 在这些协议中,主要定义了LDAP的内容,同时定义了信息模型,确定了LDAP 目录中所存储的信息的格式和字符集,如何表示目录信息(定义对象类、属性、匹配规则和语法等模式)。 一个命名空间:确定对信息进行的组织方式即就是目录信息树DIT,以DN和RDN 为基础的命名方式,以及LDAP信息的Internet表示方式; 一个功能模型:确定可以在信息上执行的操作的通讯协议以及在客户端尽心这些操作的API接口; 一个安全框架:保证目录中信息的安全,匿名、用户名/密码、SASL等多种认证方式以及与TLS结合的通讯保护框架; 一个操作模型:分布式的操作模型,基于Referral方式的分布式操作框架; 一个LDAP扩展框架:基于控制和扩展操作的LDAP扩展框架。

LDAP使用手册

LDAP使用手册 一、LDAP介绍 LDAP是轻量级目录访问协议的简称(Lightweight Directory Access Protocol).用于访问目录服务。它是目录访问协议的移植,但是简化了实现方法。 二、目录服务与关系数据库之间的区别 a)目录查询操作比关系数据库有更高的效率,但是更新效率比关系数据 库低 b)目录不支持关系数据库那样的复杂查询,比如两个表的连接。 c)目录不支持多操作的事物完整性,没有方式确认一些操作是全部成功 还是全部失败 d)目录能够能好和更灵活的支持子查询和匹配查询 e)目录协议更适合应用于广域网,比如因特网或者大型公司的网络 f)目录的管理,配置,和调试比关系型数据库更简单 g)在使用关系数据库之前,必须首先定义表结构(模式)才可以进行操 作。而目录中所使用的模式是由LDAP定义好的一系列类组成的。对 于目录中的每条记录中必须属于其中的一个类或者多个类。这些类定 义了该记录中可以存储的信息。 h)目录以对象的形式存储数据。信息被组织成树型结构。 i)目录服务支持分布式存储结构,容易实现数据的扩展,能满足大容量 存储的要求。 三、LDAP的优点

1:可以存储在其它条件下很难存储的管理信息 2:数据安全可靠,访问控制粒度细腻。 3:LDAP是一个标准的,开放的协议,具有平台无关性。 4:数据分布广,规模可灵活扩充。 5:LDAP目录服务器可以使任何一种开放源代码或商用的LDAP目录服务器。 四、LDAP模型 LDAP模型是从协议中继承过来的。是LDAP的一个组成部分,用于指导客户如何使用目录服务 LDAP 定义了四个模型,包括信息模型,命名模型,功能模型,安全模型。 信息模型(LDAP information model) LDAP信息模型用于描述LDAP中信息的表达方式。 LDAP信息模型包含三部分Entries Attributes Values Entry:Directry中最基本的信息单元,Entry中所包含的信息描述了现实世界中的一个真实的对象,在目录系统中它可以理解为, 目录树中的一个节点。在目录中添加一个Entry时,该 Entry必须属于一个或多个object class ,每一个object class规定了该Entry中必须要包含的属性,以及允许使 用的属性。Entry所属的类型由属性objectclass规定。 每一个Entry都有一个DN(distinguished name) 用于唯 一的标志Entry在directory中的位置。如下图所示: 根节点DN的命名有多种方法,其中之一就是域名命名法。

LDAP元素规范与应用

LDAP元素规范与应用 信息部 当前版本:v1.0 修改日期:2011-525 作者:王兵旺

目录 一、概述 (3) 二、ldap元素解读 (3) 三、ldap常用元素 (4) 3.1 常用元素 (4) 3.2 目录规范 (5) 四、ldap元素自定义 (6)

一、概述 本文仅描述ldap节点创建的方法及属性的匹配。通过剖析ldap的schema 来讲解如何有效的产生目录节点,最后达到信息化建设与维护的目标。需要了解开源openldap的安装配置与协议请参考《OpenLdap使用手册》。 二、ldap元素解读 openldap通过slapd.conf文件来引入所需的schema定义。整个schema主要描述了二大类元素:objectclass与attributetype。下面请跟我一起来解读两者之间的关联。 对于objectClass来说,初学者不妨把它理解为数据库中的一个table,如此一来,attributetype就是table中的一个coloum(这样比较好理解)。与数据库中的table,coloum不同的是,ldap中的objectClass呈现一种类似与面向对象编程中的继承关系。 objectClass在ldap中的具体表现形式就是诸多的对象类定义。如organization、country、person等等。每个对象类在声明语法中都会以下几个主要部分: 1、SUP 2、MUST 3、MAY SUP表示当前objectClass继承于另外某个objectClass。ldap的objectClass能表示一种继承的上下关系,如SUP top STRUCTURAL表示top是

ldap介绍

LDAP介绍 【摘要】在学习crm维护模块时,发现7层管理结构是存储在mysql的systree表中的,其实也可以使用LDAP来存储管理者的信息。本文介绍了一些LDAP的基本概念,及如何用LDAP来管理维护模块的7层管理者结构,并介绍了LDAP与MYSQL 的区别。 【关键词】LDAP,维护模块 1.LDAP简介 在介绍LDAP之前,先简单介绍一下目录服务。目录服务就是按照树状模式组织信息,实现信息管理和服务接口的一种方式。目录服务中一般包括两个方面的内容:第一个是数据库,这种数据库有别于日常所用到的关系型数据库,它是一种分布型的数据库,并且需要一个描述数据的规则;第二个组成部分是:访问和处理数据库的相关的协议。目录服务和关系数据库不同,目录服务不支持批量更新事务,目录一般只执行简单的更新操作,适合于进行大量数据的检索;目录具有广泛的复制信息的能力,从而在缩短响应时间的同时,提高了可用性和可靠性;目前,目录服务技术的国际标准有两个,即较早的X.500标准和近年迅速发展的LDAP标准。目录数据库常用于管理树状组织结构信息,如行政,人事教育,政府部门,社会保障,公安,军队信息等。 LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP。LDAP协议从1993年批准,有了V1版本,1997年发布了第三个版本LDAP v3,LDAP V3协议也不是一个单一的协议,而是一个协议群组,包括内容如下:RFC2251-LDAP V3协议核心协议,定义了LDAP V3协议的基本模型和操作; RFC2252-定义了LDAP V3基本数据模式(Schema)以及标准的系统数据模式,Schema 包括语法、匹配规则、属性类型和对象类; RFC2253-定义了LDAP V3中的分辨名(Differentiate Name, DN)表达方式; RFC2254-定义了LDAP V3中过滤器的表达方式; RFC2255-定义了LDAP V3中统一资源地址格式; RFC2256-定义了在LDAP V3中使用X.500的Schema列表;

OpenLdap使用手册

OpenLdap使用手册 一、文档概述 (2) 二、LDAP简介 (2) 2.1 LDAP介绍 (2) 2.2 LDAP优劣 (3) 2.3 LDAP协议 (3) 2.4 LDAP服务器 (4) 2.5 LDAP使用权限 (4) 2.6 LDAP目标 (4) 三、安装配置 (5) 3.1 软件安装 (5) 3.2 软件配置 (5) 3.3 软件运行 (5) 3.4 初始数据 (6) 四、LDAP应用 (8) 4.1 LDAP常用属性 (8) 4.2LDAP Schema语法 (9) 五、LDAP客户端 (9) 5.1 增加目录属性 (10)

5.2 删除目录属性 (11) 5.3 修改目录属性 (11) 5.4 增加目录 (11) 5.5 修改目录 (12) 5.6 删除目录 (13) 六、应用举例 (14) 附录: (15) X.500 (15) 一、文档概述 本文从介绍ldap入手,讲述了ldap的使用场合,并进一步的指导用户进行openldap安装与配置。是新手入门的一个教程。 二、LDAP简介 2.1 LDAP介绍 LDAP的英文全称是Lightweight Directory Access Protocol,它是基于 X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP 支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把LDAP目录作为系统集成中的一个

LDAP简介

科技部科技基础性工作专项资金重大项目 研究成果 项目名称:我国数字图书馆标准规范建设 子项目名称:数字资源检索与应用标准规范研究 项目编号:2002DEA20018 研究成果类型:研究报告 成果名称:LDAP协议应用指南 成果编号:CDLS-S07-002 成果版本:总项目组推荐稿 成果提交日期:2003年2月 撰写人:张智雄(中国科学院文献情报中心)

项目版权声明 本报告研究工作属于科技部科技基础性工作专项资金重大项目《我国数字图书馆标准规范建设》的一部分,得到科技部科技基础性工作专项资金资助,项目编号为2002DEA20018。按照有关规定,国家和《我国数字图书馆标准规范建设》课题组拥有本报告的版权,依照《中华人民共和国著作权法》享有著作权。 本报告可以复制、转载、或在电子信息系统上做镜像,但在复制、转载或镜像时须注明真实作者和完整出处,并在明显地方标明“科技部科技基础性工作专项资金重大项目《我国数字图书馆标准规范建设》资助”的字样。 报告版权人不承担用户在使用本作品内容时可能造成的任何实际或预计的损失。 作者声明 本报告作者谨保证本作品中出现的文字、图片、声音、剪辑和文后参考文献等内容的真实性和可靠性,愿按照《中华人民共和国著作权法》,承担本作品发布过程中的责任和义务。科技部有关管理机构对于本作品内容所引发的版权、署名权的异议、纠纷不承担任何责任。 《我国数字图书馆标准规范建设》课题组网站(https://www.doczj.com/doc/1712065390.html,)作为本报告的第一发表单位,并可向其他媒体推荐此作品。在不发生重复授权的前提下,报告撰写人保留将经过修改的项目成果向正式学术媒体直接投稿的权利。

LDAP中文学习手册

L D A P使用手册一、LDAP介绍 LDAP是轻量级目录访问协议的简称(LightweightDirectoryAccessProtocol). 用于访问目录服务。它是X.500目录访问协议的移植,但是简化了实现方法。 二、目录服务与关系数据库之间的区别 a)目录查询操作比关系数据库有更高的效率,但是更新效率比关系数据库低 b)目录不支持关系数据库那样的复杂查询,比如两个表的连接。 c)目录不支持多操作的事物完整性,没有方式确认一些操作是全部成功还是全 部失败 d)目录能够能好和更灵活的支持子查询和匹配查询 e)目录协议更适合应用于广域网,比如因特网或者大型公司的网络 f)目录的管理,配置,和调试比关系型数据库更简单 g)在使用关系数据库之前,必须首先定义表结构(模式)才可以进行操作。而目 录中所使用的模式是由LDAP定义好的一系列类组成的。对于目录中的每条记录中必须属于其中的一个类或者多个类。这些类定义了该记录中可以存储的信息。 h)目录以对象的形式存储数据。信息被组织成树型结构。 i)目录服务支持分布式存储结构,容易实现数据的扩展,能满足大容量存储的 要求。 三、LDAP的优点 1:可以存储在其它条件下很难存储的管理信息 2:数据安全可靠,访问控制粒度细腻。

3:LDAP是一个标准的,开放的协议,具有平台无关性。 4:数据分布广,规模可灵活扩充。 5:LDAP目录服务器可以使任何一种开放源代码或商用的LDAP目录服务器。四、LDAP模型 LDAP模型是从X.500协议中继承过来的。是LDAP的一个组成部分,用于指导客户如何使用目录服务 LDAP定义了四个模型,包括信息模型,命名模型,功能模型,安全模型。 1.LDAP信息模型(LDAPinformationmodel) LDAP信息模型用于描述LDAP中信息的表达方式。 LDAP信息模型包含三部分EntriesAttributesValues(条目属性值) Entry:Directry中最基本的信息单元,Entry中所包含的信息描述了现实世界中的一个真实的对象,在目录系统中它可以理解为,目录树中的 一个节点。在目录中添加一个Entry时,该Entry必须属于一个 或多个objectclass,每一个objectclass规定了该Entry中必须 要包含的属性,以及允许使用的属性。Entry所属的类型由属性 objectclass规定。每一个Entry都有一个 DN(distinguishedname)用于唯一的标志Entry在directory中 的位置。如下图所示: 根节点DN的命名有多种方法,其中之一就是域名命名法。例如:我们要以公司 的网址作为公司目录树的根节点。如https://www.doczj.com/doc/1712065390.html,那 么根节点的DN应该为DN:dc=sohu,dc=com 上图中根节点的DN:dc=example,dc=com而该根节点有两个子节 点,ou=people,和ou=servers。

LDAP服务器

第一八章LDAP服务器 学习目标: 了解LDAP服务器的相关知识。学会配置Mirapoint Directory目录服务器。 1LDAP基础 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 目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。 1.1 LDAP的优势 如果需要开发一种提供公共信息查询的系统一般的设计方法可能是采用基于WEB的数据库设计方式,即前端使用浏览器而后端使用WEB服务器加上关系数据库。后端在Windows的典型实现可能是Windows NT + IIS + Acess数据库或者是SQL服务器,IIS和数据库之间通过ASP技术使用ODBC进行连接,达到通过填写表单查询数据的功能; 后端在Linux系统的典型实现可能是Linux+ Apache + postgresql,Apache 和数据库之间通过PHP3提供的函数进行连接。使用上述方法的缺点是后端关系数据库的引入导致系统整体的性能降低和系统的管理比较繁琐,因为需要不断的进行数据类型的验证和事务的完整性的确认;并且前端用户对数据的控制不够灵活,用户权限的设置一般只能是设置在表一级而不是设置在记录一级。 目录服务的推出主要是解决上述数据库中存在的问题。目录与关系数据库相似,是指具有描述性的基于属性的记录集合,但它的数据类型主要是字符型,为了检索的需要添加了BIN (二进制数据)、CIS(忽略大小写)、CES(大小写敏感)、TEL(电话型)等语法(Syntax),而不是关系数据库提供的整数、浮点数、日期、货币等类型,同样也不提供象关系数据库中普遍包含的大量的函数,它主要面向数据的查询服务(查询和修改操作比一般是大于10:1),不提供事务的回滚(rollback)机制,它的数据修改使用简单的锁定机制实现All-or-Nothing,它的目标是快速响应和大容量查询并且提供多目录服务器的信息复制功能。 现在该说说LDAP目录到底有些什么优势了。现在LDAP的流行是很多因数共同作用的结果。可能LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。

LDAP协议与Weblogic Server设置简介

LDAP:轻量级目录访问协议及相关设置简介 LDAP的英文全称是Lightweight Directory Access Protocol,即轻量级目录访 问协议.我们知道,人们对计算机网络的使用和管理涉及了各种庞杂的资源,信息. 为了提高性能,便于使用,有效管理分布式应用的服务,资源,用户及别的对象信 息,这些信息需要清晰,一致地组织起来.基于这样的需求,描述各种用户,应用, 文件,打印机和其它可从网络访问的资源的信息被集中到一个特殊的数据库中, 这种数据库被称为目录.目录存放对象的公开或非公开的信息,这些信息以某种 顺序组织,描述了每个对象的细节.电话簿,图书馆藏书卡片目录就是常见的目录. LDAP是基于X.500标准的,访问 X.500 目录需要某种协议,例如:目录访问 协议 (DAP).然而,DAP 需要大量的系统资源和支持机制来处理复杂的协议.LDAP 仅通过使用原始 X.500目录存取协议 (DAP) 的功能子集而减少了所需的系统 资源消耗,而且可以根据需要定制.此外,与X.500不同,LDAP支持TCP/IP,这对访 问Internet是必须的. 为了能对LDAP协议进行更好的理解,我们需要对以下概念有初步的认识: 目录:Directory,存放对象的信息,这些信息以某种顺序组织,详细描述每个对象. 目录信息树:DIT,Directory Information Tree,目录条目的集合构成了目录信息树。 条目:Entry,目录信息树中的一个结点,是一个对象信息的集合,是目录信息中最 基本的单位,包含该对象的一系列属性. 属性:Attribute,属性描述对象的特征.一个属性由属性类型(type)和一个或多 个属性值 (values)构成. 相对标识名:RDN,Relative Distinguished Name,条目的名字. 唯一标识名:DN,Distinguished Name,在一个目录信息树中唯一标识一个条目的 名字. LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol) 是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统, 其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针 对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一 般都非常简单。这种目录可以存储包括个人信息、web链结、 jpeg图像等各种 信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP之上的访问协议—LDAP。 LDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的 数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN (Distinguished Name)的属性(Attribute),DN是用来引用条目的,DN相当 于关系数据库表中的关键字(Primary Key)。属性由类型(Type)和一个或多 个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类 型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value,而不是 关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中 条目的组织一般按照地理位置和组织关系进行组织,非常的直观。LDAP把数据

Java LDAP介绍

Java:LDAP (1) 什么是LDAP LDAP, Lightweight Directory Access Protocol, 轻量级目录访问协议,是X.500协议的简化版本。LDAP的规范为RFC 2251(ftp://https://www.doczj.com/doc/1712065390.html,/in-notes/rfc2251.txt),"The Lightweight Directory Access Protocol (v3)"。Microfost的Active Directory,Lotus的Domino Directory、IBM的WebSphere都是LDAP的实现,LDAP的开源实现是OpenLDAP。 LDAP由以下几部分组成: LDAP协议,一个标准的、可扩展的Internet目录访问协议; 使用目录的四种模型:信息模型,信息如何存储;命名模型,如何安排和引用目录数据;功能模型,如何操作数据;安全模型,如何进行访问控制; LDIF,LDAP Data Interchange Format,标准的交换目录数据的文本格式; LDAP服务软件; 和LDAP服务软件捆绑在一起的命令行工具和基于LDAP的应用程序; LDAP编程API,用于开发LDAP客户应用程序。 (2) LDAP协议 客户端发起一个请求消息,请求LDAP服务器的某条目录信息,该请求包含唯一的消息ID,如下图。 服务器收到该请求后,返回客户需要的信息,然后在一条独立的消息中返回结果代码。客户端也可以在一条消息中请求多条目录信息,服务器依次返回这些目录条目,并在最后一条消息中返回结果代码,如下图。

客户端还可以同时发出多条请求消息,服务器响应这些请求,响应中包含请求消息ID,如下图。 $False$ LDAP协议的操作分为三大类: 查询操作:search, compare 更新操作:add, delete, modify, modify DN(rename) 认证和访问控制:bind, unbind, abandon 下图是一个典型的LDAP协议操作过程。 I. 客户端向LDAP服务器打开TCP连接,提交一个bind操作,该操作包含客户用来炎症的目录条目,以及验证凭据(通常为口令或者证书);

LDAP基本概念介绍(Lightweight Directory Access Protocol)

LDAP基本概念介绍(Lightweight Directory Access Protocol) 如果你在计算机行业工作,那么对LDAP可能早有耳闻了。想深入地了解LDAP吗?那么可以好好地读一下这篇文章。这篇介绍性的文章是一系列介绍如何在企业中设计、实现和集成LDAP环境的文章的头一篇。主要是先让你熟悉一下LDAP的基本概念,那些比较困难的细节问题将放到以后讨论。在这篇文章中我们将要介绍: 什么是LDAP? 什么时候该用LDAP存储数据? LDAP目录树的结构 单独的LDAP记录 作为例子的一个单独的数据项 LDAP复制 安全和访问控制 现在LDAP技术不仅发展得很快而且也是激动人心的。在企业范围内实现LDAP可以让运行在几乎所有计算机平台上的所有的应用程序从LDAP目录中获取信息。LDAP目录中可以存储各种类型的数据:电子邮件地址、邮件路由信息、人力资源数据、公用密匙、联系人列表,等等。通过把LDAP目录作为系统集成中的一个重要环节,可以简化员工在企业内部查询信息的步骤,甚至连主要的数据源都可以放在任何地方。如果Oracle、Sybase、Informix或Microsoft SQL数据库中已经存储了类似的数据,那么LDAP和这些数据库到底有什么不同呢?是什么让它更具优势?请继续读下去吧!

什么是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,可以在信息目录的正确位置读取(或存储)数据”。但是,也没有必要吹毛求疵,尽管表达得不够准确,我们也都知道对方在说什么。 LDAP目录是数据库吗? 就象Sybase、Oracle、Informix或Microsoft的数据库管理系统(DBMS)是用于处理查询和更新关系型数据库那样,LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但是不是关系型数据库。不象被设计成每分钟需要处理成百上千条数据变化的数据库,例如:在电子商务中经常用到的在线交易处理(OLTP)系统,LDAP主要是优化数据读取的性能。 LDAP目录的优势 现在该说说LDAP目录到底有些什么优势了。现在LDAP的流行是很多因数共同作用的结果。我在这里说的不过是一些基本的原因,请你注意一下这不过是一小部分原因。 可能LDAP最大的优势是:可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端

OpenLDAP

OpenLDAP篇 LDAP(轻量级目录访问服务),通过配置这个服务,我们也可以在linux下面使用目录的形式管理用户,就像windows下面的AD一样,方便我们管理。下面我们就一起来配置openldap服务。本文运行环境:CentOS 5。 软件需求: db-4.7.25.tar.gz (https://www.doczj.com/doc/1712065390.html,/technology/global/cn/software/products/berkeley-db/index.h tml) openldap-stable-20090411.tgz (https://www.doczj.com/doc/1712065390.html,/software/download/) phpldapadmin-0.9.8.5.tar.gz (https://www.doczj.com/doc/1712065390.html,/wiki/index.php/Main_Page) 另外,运行phpldapadmin需要apache和php的支持,有关apache和php的安装,大家可以参考我的另一篇文章:Linux服务器部署系列之一—Apache篇 (https://www.doczj.com/doc/1712065390.html,/379574/168534) 1. 安装openldap 1)安装BerkeleyDB # tar zxvf db-4.7.25.tar.gz # cd db-4.7.25/build_unix # ../dist/configure # make

# make install # vi /etc/ld.so.conf 加入一下语句: /usr/local/BerkeleyDB.4.7/lib # /sbin/ldconfig 2)安装openldap # tar zxvf openldap-stable-20090411.tgz # cd openldap-2.4.16 # env CPPFLAGS=”-I/usr/local/BerkeleyDB.4.7/include” LDFLAGS=” -L/usr/local/BerkeleyDB.4.7/lib” ./configure --prefix=/usr/local/openldap --enable-ldbm # make depend # make # make install 3)检查安装结果 安装好后,系统会自动生成一些.schema文件,我们可以使用命令:# ll /usr/local/openldap/etc/openldap/schema/*.schema来查看,如下图:

相关主题
文本预览
相关文档 最新文档