免费注册,打造高效身份管理
博客/开发者/快速集成 LDAP,实现用户单点登录
快速集成 LDAP,实现用户单点登录
Authing 官方2021.01.05阅读 2562

什么是 LDAP

LDAP,Lightweight Directory Access Protocol,轻量级目录访问协议,它是一个工业标准应用协议,定义一个接口或语言为客户端连接到目录服务查询或修改信息,比如 OpenLDAP、Active Directory 等等。

一个 LDAP 服务一般存储关于用户、用户认证信息、组、用户成员等等,充当一个用户信息的中心仓库,通常使用为用户认证和授权。

你可以想象一个 LDAP 就是一个数据存储,支持客户端应用通讯使用 LDAP 协议,包含两个方面,分别是目录和协议。

 

LDAP 目录结构

 
一个 LDAP 目录有一个层级树状结构,由一个或更多的条目组成,这些条目一般代表一个真实世界的条目,比如组织、用户等等。对于一个企业而言,举个例子,这个树的根(顶层)能代表一个组织它自己,子条目可以为组织、商业单位、位置等,这些子条目能支持更多条目代表个体资源,比如用户、组等等,如下图所示:
 

术语解析及例子

 
下面创建一个真实的目录便于理解,数据使用一个学校,如下图:
在顶层你能看到一个 dc=hogwarts, dc=com,使用它来代表整个学校,它有一个子条目,代表为一个组织单元 ou=users,它有很多子条目,比如 cn=triddle 来代表学生。
 
在上图中,我们能忽略其中顶级条目 ou=config, ou=schema, ou=system,因为他们关系到这个目录它自己的 schema 和 config,是来自于安装后的默认配置。
 
Entry(条目):每个对象在目录中被叫做一个 LDAP 条目,例如:ou=users,cn=triddle。
 
Attribute(属性):每个entry 典型的有一个或更多的属性被使用来描述对象,比如姓,名,邮箱,商业单位等等。
 
LDAP 规范定义一个标准属性设置,比如 cn,sn,mail,objectClass 等等,对于我们的例子,让我们从上面的描述,拿用户 Tom Riddle 来举例,下面是这个用户的属性:
 
dn: cn=triddle, ou=users, dc=hogwarts, dc=com
objectClass: organizationalPerson
objectClass: person
objectClass: inetOrgPerson
objectClass: top
cn: triddle
sn: Riddle
displayName: Tom Riddle
givenName: Tom
mail: Tom.Riddle@hogwarts.edu
uid: 20007
userPassword: SHA hashed password
 
正如你所看到的,它包含一些基本的个人信息和用户的密码。
 
Distinguished Name or DN
在 LDAP 中识别一个条目,我们使用 Distinguished Name or dn,这个dn在一个目录中是全局唯一的,它的值是目录树中一个对象的位置,它可以被“连接”为当前条目名字和它的父节点一直到顶层(根)节点的条目“相加”。对上述已被列出的用户 Tom Riddle 而言,它的 DN 将会是:
 
"cn=triddle" + "ou=users" + "dc=hogwarts, dc=com"
DN:cn=triddle, ou=users, dc=hogwarts, dc=com

 

用户认证

 
基于 LDAP 做一个认证同样也需要用户名和密码,在这个案例描述中用户名就是 LDAP 中的 DN,因此,假设用户 Tom Riddle 的密码为 123456,你将使用如下方式认证成功:
 
username: cn=triddle, ou=users, dc=hogwarts, dc=com
password: 123456

 

如何在 Authing 身份云上使用 LDAP ?

 
在 Authing 身份云我们已经为您集成了 LDAP 协议,只需要一键开启 LDAP,您不仅可以通过 LDAP 协议来管理您云上的用户信息,还可以为您的用户使用 LDAP 协议无缝衔接其他支持 LDAP 协议的平台,进行例如认证、授权等操作。
 

开启方法

 
首先使用账户密码登录 Authing 平台,然后点击主界面--用户管理--右上角点击开关--开启,如下图:
是不是很简单? 开启后即可使用 LDAP 协议来管理用户,功能都已经集成,例如认证、过滤、增、删、改、查等。
 
常见搜索 dn 地址数据结构如下:
下面以查询功能举例,如下图:
 
 -H    LDAP server URI,包含地址及端口,所有用户都是这个地址
 -D    bind dn,指定服务器用于认证您的专有名称                       
 -w    用户池密码
 -LLL  指定以 LDIF 格式输出,不用注释和版本
 -b    base dn,如果要搜索的服务器需要指定搜索起点,则必须使用此参数,否则该参数是可选的
 -x    简单认证   
其他帮助文档请登录 Authing 身份云,点击主界面--用户管理--使用文档,以便查看更多帮助。
 
如果你喜欢我们的内容,欢迎关注公众号「Authing 身份云」和访问我们的官网,更多有趣的内容等你来看~

文章作者

avatar

Authing 官方

0

文章总数

authing blog rqcode
关注 Authing 公众号
随时随地发现更多内容
authing blog rqcode
添加 Authing 小助手
加入 Authing 开发者大家庭
身份顾问在线解答
当前在线
如何打造完整的身份体系?
立即沟通
authing
添加企业微信,领取行业资料
authing
authing
下载 Authing 令牌,体验快速登录认证!
免费使用
在线咨询
电话咨询