歡迎您光臨本站 註冊首頁

LDAP是什麼?

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

LDAP是什麼?

置頂有一篇文章, 講述了什麼是LDAP伺服器, 看了一下,我覺得作者在概念上還有些模糊的地方。比如和資料庫的關係等,作者是用了一個MySQL作的比較和對比。
我也看了一些這裡的朋友提到的問題,其實如果了解LDAP的內涵,就很好解答這些問題了。

下面我從自己的理解,來說一下,希望和大家共享。
首先LDAP是一個輕量級的產品(LightWeight),是一個Directory(D),存取的協議(Access Protocol)。

我要著重指出,LDAP是一個資料庫,但是又不是一個資料庫。說他是資料庫,因為他是一個數據存儲的東西。但是說他不是資料庫,是因為他的作用沒有資料庫這麼強大,而是一個目錄。
為了理解,給一個例子就是電話簿(黃頁)。我們用電話簿的目的是為了查找某個公司的電話,在這個電話簿中附帶了一些這個公司的基本信息,比如地址,經營範圍,聯繫方式等。
其實這個例子就是一個LDAP在現實生活中的表現。電話簿的組織結構是一條一條的信息組成,信息按照行業,類比進行了分類。每條記錄都分成了若干的區域,其中涵蓋了我們要的信息。這就是一個Directory。一個樹狀的結構,每個葉子都是由一條一條的分成若干區域的記錄。LDAP就是這麼一個東西。
從概念上說,LDAP分成了DN, OU等。OU就是一個樹,DN就可以理解為是葉子,葉子還可以有更小的葉子。但是LDAP最大的分層按照IBM的文檔是4層。

還是上面這個例子,電話簿由電話公司進行維護,因此寫是由他們去寫,去組織。寫完了,組織好了,就完成了,以後再寫,再組織的次數是有限的。而其作用是為了查找。LDAP也是類似,目的不是為了寫,主要是為了查找。這就回答了有同志問,有人要寫有人要讀的併發怎麼解決的問題。LDAP的用途不是針對這個來設計的,如果你有這樣的需求,解決辦法就應該是資料庫,而不是LDAP。這就是另外一個例子,Access和SQL Server。Access就是一個資料庫產品,但是主要用於家庭,功能和性能都比較弱。SQL Server就是一個專業的資料庫系統,功能強大。LDAP是一個輕量級的產品,主要目的是為了查,因此在架構和優化主要是針對讀,而不是寫。但並不是說LDAP不能滿足,只是說強項不在這裡。

LDAP作為一個統一認證的解決方案,主要的優點就在能夠快速響應用戶的查找需求。比如用戶的認證,這可能會有大量的併發。如果用資料庫來實現,由於資料庫結構分成了各個表,要滿足認證這個非常簡單的需求,每次都需要去搜索資料庫,合成過濾,效率慢也沒有好處。雖然可以有Cache,但是還是有點浪費。LDAP就是一張表,只需要用戶名和口令,加上一些其他的東西,非常簡單。從效率和結構上都可以滿足認證的需求。這就是為什麼LDAP成為現在很人們的統一認證的解決方案的優勢所在。

當然LDAP也有數據寫入的借口,是可以滿足錄入的要求的。這裡就不多說了。
我認為現在最大的LDAP Server,應該還是Microsoft的AD。雖然不一定是標準的,但是的確是用的最多的一個LDAP Server。每個公司只要用到域,就肯定會用到了。
《解決方案》

LDAP = LightWeight Directory Access Protocol
Direcory: 是一存放DIT型數據的特殊資料庫
LDAP Directory Server:  是採用LDAP標準協議的可以訪問和修改Diretory數據的後端軟體產品, != LDAP
LDAP Client: 是採用LDAP標準協議的向LDAP Directory Server發送訪問或修改請求的前端工具,     != LDAP

LDAP Client<====>LDAP<===>LDAP Directory Server<===>Directory

LDAP product:採用LDAP協議能夠訪問和修改一個Directory的軟體產品,主要包含Client, Server,和Directory三部分。
《解決方案》

原帖由 blogliou 於 2007-11-16 15:32 發表 http://bbs.chinaunix.net/images/common/back.gif
LDAP = LightWeight Directory Access Protocol
Direcory: 是一存放DIT型數據的特殊資料庫
LDAP Directory Server:  是採用LDAP標準協議的可以訪問和修改Diretory數據的後端軟體產品, != LDAP
LDAP Client ...


謝謝補充。
LDAP是一個協議,一個標準。
為了實現這個協議,需要一個實體,這就是LDAP的產品。Server, Client, Storage,Interface.

[火星人 ] LDAP是什麼?已經有4236次圍觀

http://coctec.com/docs/service/show-post-33275.html