2023年6月21日发(作者:)

LDAP轻量级⽬录访问协议介绍LDAPS 和 LDAP 区别LDAP(轻型⽬录应⽤程序协议)和安全LDAP(LDAPS)是应⽤程序与基础结构中的⽹络⽬录或域控制器之间使⽤的连接协议。

注意,LDAP以明⽂形式传输通信,⽽LDAPS通信则经过加密且安全。

⼀、什么是LDAP?(⼀)在介绍什么是LDAP之前,我们先来复习⼀个东西:“什么是⽬录服务?”    1. ⽬录服务是⼀个特殊的数据库,⽤来保存描述性的、基于属性的详细信息,⽀持过滤功能。    2. 是动态的,灵活的,易扩展的。    如:⼈员组织管理,电话簿,地址簿。(⼆)了解完⽬录服务后,我们再来看看LDAP的介绍:LDAP(Light Directory Access Portocol),它是基于X.500标准的轻量级⽬录访问协议。⽬录是⼀个为查询、浏览和搜索⽽优化的数据库,它成树状结构组织数据,类似⽂件⽬录⼀样。⽬录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以⽬录天⽣是⽤来查询的,就好象它的名字⼀样。LDAP⽬录服务是由⽬录数据库和⼀套访问协议组成的系统。(三)为什么要使⽤LDAP是开放的Internet标准,⽀持跨平台的Internet协议,在业界中得到⼴泛认可的,并且市场上或者开源社区上的⼤多产品都加⼊了对LDAP的⽀持,因此对于这类系统,不需单独定制,只需要通过LDAP做简单的配置就可以与服务器做认证交互。“简单粗暴”,可以⼤⼤降低重复开发和对接的成本。我们拿开源系统(YAPI)做案例,只需做⼀下简单的⼏步配置就可以达到LDAP的单点登录认证了:{"ldapLogin": { "enable": true, "server": "ldap://", "baseDn": "CN=Admin,CN=Users,DC=test,DC=com", "bindPassword": "password123", "searchDn": "OU=UserContainer,DC=test,DC=com", "searchStandard": "mail" }}是不是很⽅便呢?

⼆、LDAP的主要产品细⼼的朋友应该会主要到,LDAP的中⽂全称是:轻量级⽬录访问协议,说到底LDAP仅仅是⼀个访问协议,那么我们的数据究竟存储在哪⾥呢?来,我们⼀起看下下⾯的表格:⼚商SUN产品SUNONE DirectoryServerIBMNovellMicrosoft

IBM Directory ServerNovell Directory ServerMicrosoft ActiveDirectoryOpensourceOpensource基于DB2 的的数据库,速度⼀般。基于⽂本数据库的存储,速度快, 不常⽤到。基于WINDOWS系统⽤户,对⼤数据量处理速度⼀般,但维护容易,⽣态圈⼤,管理相对简单。OpenLDAP 开源的项⽬,速度很快,但是⾮主 流应⽤。介绍基于⽂本数据库的存储,速度快 。没错,这就是正常存储数据的地⽅,⽽访问这些数据就是通过我们上述所说的LDAP。相信到这⾥⼤家应该了解两者之间的关系了吧!三、LDAP的基本模型每⼀个系统、协议都会有属于⾃⼰的模型,LDAP也不例外,在了解LDAP的基本模型之前我们需要先了解⼏个LDAP的⽬录树概念:(⼀)⽬录树概念1. ⽬录树:在⼀个⽬录服务系统中,整个⽬录信息集可以表⽰为⼀个⽬录信息树,树中的每个节点是⼀个条⽬。2. 条⽬:每个条⽬就是⼀条记录,每个条⽬有⾃⼰的唯⼀可区别的名称(DN)。3. 对象类:与某个实体类型对应的⼀组属性,对象类是可以继承的,这样⽗类的必须属性也会被继承下来。4. 属性:描述条⽬的某个⽅⾯的信息,⼀个属性由⼀个属性类型和⼀个或多个属性值组成,属性有必须属性和⾮必须属性。(⼆)DC、UID、OU、CN、SN、DN、RDN关键字英⽂全称DomaindcuidComponentUser IdOrganizationoucnsnUnitCommon NameSurnameDistinguisheddnName“uid=,ou=oa组,dc=example,dc=com”,⼀条记录的位置(唯⼀)相对辨别名,类似于⽂件系统中的相对路径,它是与⽬录树结构⽆关的部分,如“uid=tom”或“cn=rdnRelative dnThomas Johansson”组织单位,组织单位可以包含其他各种对象(包括其他组织单元),如“oa组”(⼀条记录的所属组织)公共名称,如“Thomas Johansson”(⼀条记录的名称)姓,如“许”含义域名的部分,其格式是将完整的域名分成⼏部分,如域名为变成dc=example,dc=com(⼀条记录的所属位置)⽤户ID (⼀条记录的ID)  命名模型:    功能模型:    安全模型:  四、LDAP的使⽤  那我们是如何访问LDAP的数据库服务器呢?    统⼀⾝份认证主要是改变原有的认证策略,使需要认证的软件都通过LDAP进⾏认证,在统⼀⾝份认证之后,⽤户的所有信息都存储在AD Server中。终端⽤户在需要使⽤公司内部服务的时候,都需要通过AD服务器的认证。  那么程序中是如何访问的呢? 我们以PHP脚本作为例⼦:$ldapconn = ldap_connect(“10.1.8.78")$ldapbind = ldap_bind($ldapconn, 'username', $ldappass);$searchRows= ldap_search($ldapconn, $basedn, "(cn=*)");$searchResult = ldap_get_entries($ldapconn, $searchRows);ldap_close($ldapconn);1. 连接到LDAP服务器;2. 绑定到LDAP服务器;3. 在LDAP服务器上执⾏所需的任何操作;4. 释放LDAP服务器的连接;

2023年6月21日发(作者:)

LDAP轻量级⽬录访问协议介绍LDAPS 和 LDAP 区别LDAP(轻型⽬录应⽤程序协议)和安全LDAP(LDAPS)是应⽤程序与基础结构中的⽹络⽬录或域控制器之间使⽤的连接协议。

注意,LDAP以明⽂形式传输通信,⽽LDAPS通信则经过加密且安全。

⼀、什么是LDAP?(⼀)在介绍什么是LDAP之前,我们先来复习⼀个东西:“什么是⽬录服务?”    1. ⽬录服务是⼀个特殊的数据库,⽤来保存描述性的、基于属性的详细信息,⽀持过滤功能。    2. 是动态的,灵活的,易扩展的。    如:⼈员组织管理,电话簿,地址簿。(⼆)了解完⽬录服务后,我们再来看看LDAP的介绍:LDAP(Light Directory Access Portocol),它是基于X.500标准的轻量级⽬录访问协议。⽬录是⼀个为查询、浏览和搜索⽽优化的数据库,它成树状结构组织数据,类似⽂件⽬录⼀样。⽬录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以⽬录天⽣是⽤来查询的,就好象它的名字⼀样。LDAP⽬录服务是由⽬录数据库和⼀套访问协议组成的系统。(三)为什么要使⽤LDAP是开放的Internet标准,⽀持跨平台的Internet协议,在业界中得到⼴泛认可的,并且市场上或者开源社区上的⼤多产品都加⼊了对LDAP的⽀持,因此对于这类系统,不需单独定制,只需要通过LDAP做简单的配置就可以与服务器做认证交互。“简单粗暴”,可以⼤⼤降低重复开发和对接的成本。我们拿开源系统(YAPI)做案例,只需做⼀下简单的⼏步配置就可以达到LDAP的单点登录认证了:{"ldapLogin": { "enable": true, "server": "ldap://", "baseDn": "CN=Admin,CN=Users,DC=test,DC=com", "bindPassword": "password123", "searchDn": "OU=UserContainer,DC=test,DC=com", "searchStandard": "mail" }}是不是很⽅便呢?

⼆、LDAP的主要产品细⼼的朋友应该会主要到,LDAP的中⽂全称是:轻量级⽬录访问协议,说到底LDAP仅仅是⼀个访问协议,那么我们的数据究竟存储在哪⾥呢?来,我们⼀起看下下⾯的表格:⼚商SUN产品SUNONE DirectoryServerIBMNovellMicrosoft

IBM Directory ServerNovell Directory ServerMicrosoft ActiveDirectoryOpensourceOpensource基于DB2 的的数据库,速度⼀般。基于⽂本数据库的存储,速度快, 不常⽤到。基于WINDOWS系统⽤户,对⼤数据量处理速度⼀般,但维护容易,⽣态圈⼤,管理相对简单。OpenLDAP 开源的项⽬,速度很快,但是⾮主 流应⽤。介绍基于⽂本数据库的存储,速度快 。没错,这就是正常存储数据的地⽅,⽽访问这些数据就是通过我们上述所说的LDAP。相信到这⾥⼤家应该了解两者之间的关系了吧!三、LDAP的基本模型每⼀个系统、协议都会有属于⾃⼰的模型,LDAP也不例外,在了解LDAP的基本模型之前我们需要先了解⼏个LDAP的⽬录树概念:(⼀)⽬录树概念1. ⽬录树:在⼀个⽬录服务系统中,整个⽬录信息集可以表⽰为⼀个⽬录信息树,树中的每个节点是⼀个条⽬。2. 条⽬:每个条⽬就是⼀条记录,每个条⽬有⾃⼰的唯⼀可区别的名称(DN)。3. 对象类:与某个实体类型对应的⼀组属性,对象类是可以继承的,这样⽗类的必须属性也会被继承下来。4. 属性:描述条⽬的某个⽅⾯的信息,⼀个属性由⼀个属性类型和⼀个或多个属性值组成,属性有必须属性和⾮必须属性。(⼆)DC、UID、OU、CN、SN、DN、RDN关键字英⽂全称DomaindcuidComponentUser IdOrganizationoucnsnUnitCommon NameSurnameDistinguisheddnName“uid=,ou=oa组,dc=example,dc=com”,⼀条记录的位置(唯⼀)相对辨别名,类似于⽂件系统中的相对路径,它是与⽬录树结构⽆关的部分,如“uid=tom”或“cn=rdnRelative dnThomas Johansson”组织单位,组织单位可以包含其他各种对象(包括其他组织单元),如“oa组”(⼀条记录的所属组织)公共名称,如“Thomas Johansson”(⼀条记录的名称)姓,如“许”含义域名的部分,其格式是将完整的域名分成⼏部分,如域名为变成dc=example,dc=com(⼀条记录的所属位置)⽤户ID (⼀条记录的ID)  命名模型:    功能模型:    安全模型:  四、LDAP的使⽤  那我们是如何访问LDAP的数据库服务器呢?    统⼀⾝份认证主要是改变原有的认证策略,使需要认证的软件都通过LDAP进⾏认证,在统⼀⾝份认证之后,⽤户的所有信息都存储在AD Server中。终端⽤户在需要使⽤公司内部服务的时候,都需要通过AD服务器的认证。  那么程序中是如何访问的呢? 我们以PHP脚本作为例⼦:$ldapconn = ldap_connect(“10.1.8.78")$ldapbind = ldap_bind($ldapconn, 'username', $ldappass);$searchRows= ldap_search($ldapconn, $basedn, "(cn=*)");$searchResult = ldap_get_entries($ldapconn, $searchRows);ldap_close($ldapconn);1. 连接到LDAP服务器;2. 绑定到LDAP服务器;3. 在LDAP服务器上执⾏所需的任何操作;4. 释放LDAP服务器的连接;