ldap统一用户认证和单点登录_统一用户认证平台

(5) 2024-07-03 11:23

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
ldap统一用户认证和单点登录_统一用户认证平台,希望能够帮助你!!!。

1. LDAP简述

1.1. LDAP概念

轻型目录访问协议(Lightweight DIrectory Access Protocol),LDAP是一种通讯协议,LDAP能够支持TCP/IP。协议就是标准,在这套标准之下,AD(Active Directory)是微软实现的一套产品。可以把AD理解成是个的数据库,也有很多人直接把LDAP说成数据库(可以把LDAP理解成一种树形结构的数据库)。LDAP也是有服务端和客户端。服务端是用来存放资源,客户端用来进行增删改查等操作。

LDAP的存储是树形结构的,数据存储在叶子节点上,因此LDAP的应用中主要使用其进行查询,插入等变更操作效率相对较低。看看下面的例子:

LDAP里定义一个记录的位置:树(dc=main) 分支(ou=o1,ou=oo1,ou=ooo1) 节点(cn=node)

dn:cn=main,ou=o1,ou=oo1,ou=ooo1,dc=node

ou会有多个值,从树根到达node的位置,可能要经过好几个分支,所以ou可能有多个值,关于dn后面一长串,分别是cn,ou,dc;中间用逗号隔开。

LDAP 树形数据库如下:

dn :一条记录的详细位置

dc :一条记录所属区域 (哪棵树)

ou :一条记录所属组织 (哪个分支)

cn/uid:一条记录的名字/ID (哪个节点)

LDAP 目录树的最顶部就是根,也就是所谓的 "基准DN"。

1.2. LDAP应用场景

由于使用树形结构存储数据,因此查询效率更高(参考关系型数据库索引的实现原理:B树/B+树)在某些特定的场景下,使用树形数据库更理想。例如:需要储存大量的数据,而且数据比较稳定,不需要太频繁的修改,可以满足快速的查找,与传统的关系型数据库相比,LDAP除了快速查找的特点,它还有很多的运用场景,比如域验证等。

1.3. LDAP常见目录树结构设计

LDAP的目录树根一般定义为国家(c=CN)或者域名(dc=com),其次往往定义一个或者多个组织(organazation, o)或组织单元(oragnazation unit , ou),一个组织单元可以包含员工、设备(计算机/打印机)相关信息。

例如:uid=babs,ou=People,dc=example,dc=com.

ldap统一用户认证和单点登录_统一用户认证平台_https://bianchenghao6.com/blog__第1张

假设域名为foobar.com,这个域名就能转化为这个DN:dc=foobar,dc=com

ldap统一用户认证和单点登录_统一用户认证平台_https://bianchenghao6.com/blog__第2张

如果foobar.com与wocket.com和gizmo.com合并,则以上的目录结构就可以适应这种突然的变化,而无需重新规划,在dc=com下面添加dc=wocket和dc=gizmo两个条目即可。

ldap统一用户认证和单点登录_统一用户认证平台_https://bianchenghao6.com/blog__第3张

初始目录结构设置的越好,后续扩展时需要改动的就越少,通常情况分布均匀层次较浅的结构工作的最好

ldap统一用户认证和单点登录_统一用户认证平台_https://bianchenghao6.com/blog__第4张

2. LADP做统一认证

ldap统一用户认证和单点登录_统一用户认证平台_https://bianchenghao6.com/blog__第5张

统一身认证改变了原有的认证策略,需要进行认证的应用都通过LDAP进行统一认证,在统一认证之后,用户的所有信息都存储在AD Server中。终端用户在需要使用内部服务的时候,都需要通过AD服务器的认证。

ldap统一用户认证和单点登录_统一用户认证平台_https://bianchenghao6.com/blog__第6张

上图中展示的架构是LDAP进行统一身份认证的一般配置情况,LDAP Client指各种需要身份认证的软件,例如Apache、Proftpd和Samba等。LDAP Sever指的是实现LDAP协议的软件,例如OpenLDAP等。DataStorage指的是OpenLDAP的数据存储,如关系型数据库(MySQL)或查询效率更高的嵌入式数据库(BerkeleyDB),甚至是平面文本数据库(—个txt的文本文件)。可见,OpenLDAP软件只是LDAP协议的一种实现形式,并不包括后台数据库存储。但在很多时候管理员经常将LDAP Server和DataStorage放在同一台服务器,这样就产生了人们通常所说的“LDAP数据库”。虽然后台数据库(backend)可以是多种多样,但LDAP协议还规定了数据的树状存储方式,与DNS类似。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复