LDAP是什麼 看看他的原理介紹吧

2021-10-08 14:15:20 字數 2417 閱讀 5203

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

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

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

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

ldap(light directory access portocol),它是基於x.500標準的輕量級目錄訪問協議。

目錄是乙個為查詢、瀏覽和搜尋而優化的資料庫,它成樹狀結構組織資料,類似檔案目錄一樣。

目錄資料庫和關聯式資料庫不同,它有優異的讀效能,但寫效能差,並且沒有事務處理、回滾等複雜功能,不適於儲存修改頻繁的資料。所以目錄天生是用來查詢的,就好象它的名字一樣。

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

(三)為什麼要使用

ldap是開放的internet標準,支援跨平台的internet協議,在業界中得到廣泛認可的,並且市場上或者開源社群上的大多產品都加入了對ldap的支援,因此對於這類系統,不需單獨定製,只需要通過ldap做簡單的配置就可以與伺服器做認證互動。「簡單粗暴」,可以大大降低重複開發和對接的成本。

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

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

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

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

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

(一)目錄樹概念

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

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

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

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

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

(三)基本模型:

資訊模型:

命名模型:

功能模型:

安全模型:

那我們是如何訪問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);

連線到ldap伺服器;

繫結到ldap伺服器;

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

釋放ldap伺服器的連線;

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

介面是什麼?實現原理的是什麼

一.什麼是介面 介面是一種用來定義程式的協議,它描述可屬於任何類或結構的一組相關行為。介面是一組規則的集合,它規定了實現本介面的類或介面必須擁有的一組規則。體現了自然界 如果你是 則必須能 的理念。介面是在一定粒度檢視上同類事物的抽象表示。因為 同類事物 這個概念是相對的,它因為粒度檢視不同而不同。...

學習 介面是什麼?實現原理的是什麼

一.什麼是介面 介面是一種用來定義程式的協議,它描述可屬於任何類或結構的一組相關行為。介面是一組規則的集合,它規定了實現本介面的類或介面必須擁有的一組規則。體現了自然界 如果你是 則必須能 的理念。介面是在一定粒度檢視上同類事物的抽象表示。因為 同類事物 這個概念是相對的,它因為粒度檢視不同而不同。...

看看你用得最多的命令是什麼

在 ubuntu china 的論壇 上看到乙個比較有意思的 帖子,樓主用一行命令檢視自己最近使用的最多的命令。history awk awk begin sort rn uniq c sort rn head 由於 ubuntu 限制 root 使用者的濫用,所以很多 ubuntu 使用者使用系統...