<b>ldap</b><b>的命名模型</b>
命名模型規定了在目錄中如何組織和表示條目
1. 目錄資訊樹(DIT)
目錄資訊樹有點類似于DNS的結構。每一個條目都有自己的父條目(因為主條目的父條目是top,是以這句話是成立的),并且每一個條目都可以有多個子條目。
而DN的作用就是告訴我們現在處于的什麼位置。(而RDN隻是裡面的一個條目)
2. 跳脫符
如果出現下面的情況則要使用跳脫符來解決:
dn: o=Example\, Inc.,st=Delaware,c=US #這裡的Example, Inc.是一個公司名,則要使用跳脫符,才能不讓系統識别為兩個不同的ID。
3. 目錄字尾
LDAP是由多個目錄組成的,而字尾(suffix)是在LDAP的目錄層次重視在最頂端的。也就是說,在所有的條目的DN中都要講字尾(suffix)加上,才能完整表示這個完整的DN
選擇一個字尾(suffix)
有兩種模型是可以選擇的 ,一種是X.500的模型,一種是類似于DNS的模型結構。一般而言使用DNS模型結構,因為X.500相對來說太過複雜。
4. 名稱結構
名稱結構也分為扁平和縱深兩種結構
l 扁平的名稱設計
<a target="_blank" href="http://blog.51cto.com/attachment/201104/010813608.png"></a>
這種扁平的結構:
優點:
1,當某個人的職務放生了變化,那麼這個目錄服務的結構不需要發生變化,隻要将自己的條目進行修改便可以。
2,友善管理
缺點:
1,很難去維護唯一的DN,如圖,如果uid相同的可能性會很大
2,很難區分需要的跟細緻的目錄結構圖。
l 縱深的名稱設計
<a target="_blank" href="http://blog.51cto.com/attachment/201104/010830843.png"></a>
這種縱深的名稱設計:
1,盡量避免了名稱的沖突
2,詳細明确的表示目錄結構
缺點
1,不友善各條目的變化管理
結合上面的兩種,則可以看出 ,在設計目錄服務的時候應該盡量保持目錄服務的扁平性。
可以使用這樣的模型結構進行設計:
<a href="http://blog.51cto.com/attachment/201104/010925361.png" target="_blank"></a>
本文轉自netsword 51CTO部落格,原文連結:http://blog.51cto.com/netsword/538565