
其中objectclass可以為groupOfUniqueNames或者groupOfNames,它們對應的組成員屬性分別是uniquemember和member。如果是動(dòng)態(tài)組,objectclass為groupOfURLs。動(dòng)態(tài)組一般應用在成員可以通過(guò)某種業(yè)務(wù)邏輯運算來(lái)決定的情況下。比如,經(jīng)理為ZHANGSAN的全部員工。下面是一個(gè)典型的動(dòng)態(tài)組,memberURL屬性定義了哪些entry屬于該組:

從圖1-3-1中我們可以看出,用戶(hù)WANTXIAOMING,ZHANGSAN,LISI屬于組HR Managers。這種組和成員的關(guān)系是通過(guò)屬性uniquemember來(lái)決定的。同時(shí)LADP Group 支持嵌套,即一個(gè)組可以是另外一個(gè)組的成員,比如我們將Accounting Managers組分配給HR Managers組作為其成員:

這樣將表示Accounting Managers中的成員,同時(shí)也是組HR Managers的成員。通過(guò)這種層級關(guān)系可以使權限分配變的更加靈活。
下面是一些名詞的解釋?zhuān)M蠹覍DAP有更好的理解:
a) Objectclass —— LDAP對象類(lèi),抽象上的概念類(lèi)似與一般我們理解的class。根據不同的objectclass,我們可以判斷這個(gè)entry是否屬于某一個(gè)類(lèi)型。比如我們需要找出LDAP中的全部用戶(hù):(objectclass=person)再比如我們需要查詢(xún)全部的LDAP組:(objectclass=groupOfUniqueNames)
b) Entry —— entry可以被稱(chēng)為條目,或者節點(diǎn),是LDAP中一個(gè)基本的存儲單元;可以被看作是一個(gè)DN和一組屬性的集合。屬性可以定義為多值或者單值。
c) DN —— Distinguished Name,LDAP中entry的唯一辨別名,一般有如下的形式:uid=ZHANGSAN, ou=staff, ou=people, o=examples。LDAP中的entry只有DN是由LDAP Server來(lái)保證唯一的。
d) LDAP Search filter ——使用filter對LDAP進(jìn)行搜索。 Filter一般由 (attribute=value) 這樣的單元組成,比如:(&(uid=ZHANGSAN)(objectclass=person)) 表示搜索用戶(hù)中,uid為ZHANGSAN的LDAP Entry.再比如:(&(|(uid= ZHANGSAN)(uid=LISI))(objectclass=person)),表示搜索uid為ZHANGSAN, 或者LISI的用戶(hù);也可以使用*來(lái)表示任意一個(gè)值,比如(uid=ZHANG*SAN),搜索uid值以 ZHANG開(kāi)頭SAN結尾的Entry。更進(jìn)一步,根據不同的LDAP屬性匹配規則,可以有如下的Filter: (&(createtimestamp>=20050301000000)(createtimestamp<=20050302000000)),表示搜索創(chuàng )建時(shí)間在20050301000000和20050302000000之間的entry。
Filter中 “&” 表示“與”;“!”表示“非”;“|”表示“或”。根據不同的匹配規則,我們可以使用“=”,“~=”,“>=”以及“<=”,更多關(guān)于LDAP Filter讀者可以參考LDAP相關(guān)協(xié)議:http://www.ietf.org/rfc/rfc2254.txt。
e) Base DN —— 執行LDAP Search時(shí)一般要指定basedn,由于LDAP是樹(shù)狀數據結構,指定basedn后,搜索將從BaseDN開(kāi)始,我們可以指定Search Scope為:只搜索basedn(base),basedn直接下級(one level),和basedn全部下級(sub tree level)。
下面是一個(gè)典型的LDAP Tree結構,右側顯示Entry uid=ZHANGSAN, ou=staff, ou=people, o=examples的屬性,該entry代表了一個(gè)名字叫張三的用戶(hù):

聯(lián)系客服