快速集成 LDAP,實現用戶單點登陸

什麼是 LDAP

LDAP,Lightweight Directory Access Protocol,輕量級目錄訪問協議,它是一個工業標準應用協議,定義一個接口或語言爲客戶端鏈接到目錄服務查詢或修改信息,好比 OpenLDAP、Active Directory 等等。javascript

一個 LDAP 服務通常存儲關於用戶、用戶認證信息、組、用戶成員等等,充當一個用戶信息的中心倉庫,一般使用爲用戶認證和受權。java

你能夠想象一個 LDAP 就是一個數據存儲,支持客戶端應用通信使用 LDAP 協議,包含兩個方面,分別是目錄和協議。服務器

LDAP 目錄結構

一個 LDAP 目錄有一個層級樹狀結構,由一個或更多的條目組成,這些條目通常表明一個真實世界的條目,好比組織、用戶等等。對於一個企業而言,舉個例子,這個樹的根(頂層)能表明一個組織它本身,子條目能夠爲組織、商業單位、位置等,這些子條目能支持更多條目表明個體資源,好比用戶、組等等,以下圖所示:數據結構

術語解析及例子

下面建立一個真實的目錄便於理解,數據使用一個學校,以下圖:ui

在頂層你能看到一個 dc=hogwarts, dc=com,使用它來表明整個學校,它有一個子條目,表明爲一個組織單元 ou=users,它有不少子條目,好比 cn=triddle 來表明學生。code

在上圖中,咱們能忽略其中頂級條目 ou=config, ou=schema, ou=system,由於他們關係到這個目錄它本身的 schema 和 config,是來自於安裝後的默認配置。server

Entry(條目):每一個對象在目錄中被叫作一個 LDAP 條目,例如:ou=users,cn=triddle。對象

Attribute(屬性):每一個entry 典型的有一個或更多的屬性被使用來描述對象,好比姓,名,郵箱,商業單位等等。blog

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 身份雲,點擊主界面--用戶管理--使用文檔,以便查看更多幫助。

相關文章
相關標籤/搜索