LDAP概念和原理介紹

2022-07-15 05:39:11 字數 4268 閱讀 4975

ldap概念和原理介紹

相信對於許多的朋友來說,可能聽說過ldap,但是實際中對ldap的了解和具體的原理可能還比較模糊,今天就從「什麼是ldap」、「ldap的主要產品」、「ldap的基本模型」、「ldap的使用案例」四個方面來做乙個介紹。

我們在開始介紹之前先來看幾個問題:

1. 我們日常的辦公系統是不是有多個?

2. 每個系統之間是不是都有獨立的賬號密碼?

3. 密碼多了,有時候半天想不起來哪個密碼對應哪個系統?

4. 每次新專案的開發,都需要重新開發和維護一套使用者密碼?

5. 維護多套系統的使用者是不是非常頭疼?

so,如今大家再也不用為上面的的問題頭疼了,因為「ldap統一認證服務」已經幫助大家解決這些問題了。那麼相信大家對「ldap統一認證服務」是幹嘛的已經有乙個大概的了解了吧?那我們開始今天要講解的內容吧!

一、什麼是ldap?

(一)在介紹什麼是ldap之前,我們先來複習乙個東西:「什麼是目錄服務?

1. 目錄服務是乙個特殊的資料庫,用來儲存描述性的、基於屬性的詳細資訊,支援過濾功能。

2. 是動態的,靈活的,易擴充套件的。

如:人員組織管理,**簿,位址簿。

(二)了解完目錄服務後,我們再來看看ldap的介紹:

ldap

(light directory access portocol),

它是基於x.500標準的

輕量級目錄訪問協議。

目錄是乙個為查詢、

瀏覽和搜尋而優化的資料庫,它

成樹狀結構組織資料

,類似檔案目錄一樣。

目錄資料庫和關聯式資料庫不同,它有

優異的讀效能

,但寫效能差

,並且沒有事務處理、回滾等複雜功能,不適於儲存修改頻繁的資料。所以目錄天生是用來查詢的,就好象它的名字一樣。

ldap目錄服務是由目錄資料庫和一套訪問協議組成的系統。

(三)為什麼要使用

ldap是

開放的internet標準,

支援跨平台的

internet

協議,在業界中得到廣泛認可的,並且市場上或者開源社群上的大多產品都加入了對ldap的支援,因此對於這類系統,不需單獨定製,只需要通過ldap做簡單的配置就可以與伺服器做認證互動。「

簡單粗暴

」,可以大大降低重複開發和對接的成本。

我們拿開源系統(yapi)做案例,只需做一下簡單的幾步配置就可以達到ldap的單點登入認證了:

是不是很方便呢?

二、ldap的主要產品

細心的朋友應該會主要到,ldap的中文全稱是:輕量級目錄訪問協議,說到底ldap僅僅是乙個訪問協議,那麼我們的資料究竟儲存在**呢?

來,我們一起看下下面的**:

廠商產品

介紹sun

sunone directory server

基於文字資料庫的儲存,速度快 。

ibmibm directory server

基於db2 的的資料庫,速度一般。

novell

novell directory server

基於文字資料庫的儲存,速度快, 不常用到。

microsoft 

microsoft active directory

基於windows系統使用者,對大資料量處理速度一般,但維護容易,生態圈大,管理相對簡單。

opensource

opensource

openldap 開源的專案,速度很快,但是非主 流應用。

沒錯,這就是正常儲存資料的地方,而訪問這些資料就是通過我們上述所說的ldap。相信到這裡大家應該了解兩者之間的關係了吧!

三、ldap的基本模型

每乙個系統、協議都會有屬於自己的模型,ldap也不例外,在了解ldap的基本模型之前我們需要先了解幾個ldap的目錄樹概念:

(一)目錄樹概念

1. 目錄樹:在乙個目錄服務系統中,整個目錄資訊集可以表示為乙個目錄資訊樹,樹中的每個節點是乙個條目。

2. 條目:每個條目就是一條記錄,每個條目有自己的唯一可區別的名稱(dn)。

3. 物件類:與某個實體型別對應的一組屬性,物件類是可以繼承的,這樣父類的必須屬性也會被繼承下來。

4. 屬性:描述條目的某個方面的資訊,乙個屬性由乙個屬性型別和乙個或多個屬性值組成,屬性有必須屬性和非必須屬性。

(二)dc、uid、ou、cn、sn、dn、rdn

關鍵字

英文全稱

含義

dc

domain component

網域名稱的部分,其格式是將完整的網域名稱分成幾部分,如網域名稱為example.com變成dc=example,dc=com(一條記錄的所屬位置)

uid

user id

使用者id songtao.xu(一條記錄的id)

ou

organization unit

組織單位,組織單位可以包含其他各種物件(包括其他組織單元),如「oa組」(一條記錄的所屬組織)

cn

common name

公共名稱,如「thomas johansson」(一條記錄的名稱)

sn

surname

姓,如「許」

dn

distinguished name

「uid=songtao.xu,ou=oa組,dc=example,dc=com」,一條記錄的位置(唯一)

rdn

relative dn

相對辨別名,類似於檔案系統中的相對路徑,它是與目錄樹結構無關的部分,如「uid=tom」或「cn= thomas johansson」

(三)基本模型:

資訊模型:

命名模型:

功能模型:

安全模型:

四、ldap的使用

那我們是如何訪問ldap的資料庫伺服器呢?

統一身份認證主要是改變原有的認證策略,使需要認證的軟體都通過ldap進行認證,在統一身份認證之後,使用者的所有資訊都儲存在ad server中。終端使用者在需要使用公司內部服務的時候,都需要通過ad伺服器的認證。

那麼程式中是如何訪問的呢? 我們以php指令碼作為例子:

$ldapconn = ldap_connect(「10.1.8.78")

);$searchrows= ldap_search($ldapconn, $basedn, "(cn=*)");

$searchresult = ldap_get_entries($ldapconn, $searchrows

);ldap_close(

$ldapconn);

1. 連線到ldap伺服器;

2. 繫結到ldap伺服器;

3. 在ldap伺服器上執行所需的任何操作;

4. 釋放ldap伺服器的連線;

這章就只介紹ldap的一些概念和基本的原理,**的操作下一章再展開來講錯或講的不好的地方,還望指教!~

LDAP伺服器的概念和原理簡單介紹

目錄是乙個為查詢 瀏覽和搜尋而優化的專業分布式資料庫,它呈樹狀結構組織資料,就好象linux unix系統中的檔案目錄一樣。目錄資料庫和關聯式資料庫不同,它有優異的讀效能,但寫效能差,並且沒有事務處理 回滾等複雜功能,不適於儲存修改頻繁的資料。所以目錄天生是用來查詢的,就好象它的名字一樣。目錄服務是...

LDAP介紹和使用ACL示例

決定了將要應用訪問控制的條目和屬性。條目通常通過兩種方式選定 通過dn或者通過過濾器。下面的示例通過dn選擇條目 to to dn to dn.第一種格式用於選擇所有的條目。第二種格式用於選擇標準化的dn與所給正規表示式相匹配的條目 第二種格式不會在本文件中深入討論 第三種格式用語選擇在所請求的dn...

LDAP基礎內容介紹

二 ldap基本模型 對於公司中有多個it系統,每個系統都需要賬號密碼時,工作起來就是很麻煩的問題。應用使用者統一身份認證就可以很好的解決這個問題,使用ldap就是目前乙個很好的處理辦法。ldap light directory access portocol 是基於tcp ip協議的輕量目錄訪問協...