卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

LDAP模式設(shè)計(jì)

LDAP 手冊(cè)入門 ,1. LDAP 概念與概覽如果你已經(jīng)知道了LDAP 是什么,它有什么好處,并且也知道了Schemas, objectClasses, 以及所有諸如此

LDAP 手冊(cè)

入門

,

1. LDAP 概念與概覽

如果你已經(jīng)知道了LDAP 是什么,它有什么好處,并且也知道了Schemas, objectClasses, 以及所有諸如此類的概念——那就可以跳過(guò)本章。但是如果你不想盲目按照“HOWTOs 這樣的指南”去做事情,那么你必須理解本章材料中的絕大數(shù)內(nèi)容。

LDAP 和X.500在術(shù)語(yǔ)上淵源頗深。一些術(shù)語(yǔ)很重要,另一些術(shù)語(yǔ)則無(wú)足輕重。為了便于記憶,我們創(chuàng)建了一個(gè)詞匯表,我們所介紹的術(shù)語(yǔ)要么很重,要么它們?cè)诟黝愇臋n中經(jīng)常出現(xiàn)。

LDAP 中大小寫敏感問(wèn)題的簡(jiǎn)單說(shuō)明:這個(gè)問(wèn)題很混亂,- 是的,我們發(fā)現(xiàn)這事確實(shí)很混亂。事實(shí)告訴我們這方面存在很多混亂的認(rèn)識(shí)。在LDAP 中,只有密碼(passwords )和某些受限于匹配規(guī)則(matchingRule )的特定屬性(極其少見(jiàn))要求區(qū)分大小寫。在本文和其他文檔中你會(huì)看到 objectclasses 或objectClasses 甚至ObjectClasses 這樣的詞匯,但它們都能工作。你有足夠的理由擔(dān)心大小寫的問(wèn)題,如果真的存在大小寫敏感的問(wèn)題,那在開(kāi)始學(xué)習(xí)LDAP 的六年時(shí)間中(開(kāi)個(gè)玩笑,只需要四年)每次按下鍵盤時(shí)都會(huì)出一身汗,生怕輸錯(cuò)某些東西的名稱。

,

1.1 LDPA簡(jiǎn)史(A Brief Historyof LDAP)

曾經(jīng),在模糊和久遠(yuǎn)的過(guò)去(上世紀(jì)70年代末到80年代初),ITU (國(guó)際電信聯(lián)盟- International Telecommunication Union)開(kāi)始了X.400系列的email 郵件標(biāo)準(zhǔn)的制定工作。Email 標(biāo)準(zhǔn)需要一個(gè)名稱(names ,以及其他信息)的目錄,這個(gè)目錄可以通過(guò)網(wǎng)絡(luò)以一種層級(jí)(hierarchical fashion )的方式進(jìn)行訪問(wèn),這種方式與所熟悉的DNS 架構(gòu)有所不同。

這種基于全球網(wǎng)絡(luò)的目錄需求導(dǎo)致ITU 開(kāi)發(fā)X.500系列標(biāo)準(zhǔn),以及尤為特別的X.519標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)定義了DAP (目錄訪問(wèn)協(xié)議Directory Access Protocol),該協(xié)議用于訪問(wèn)網(wǎng)絡(luò)目錄服務(wù)。

X.400 和X.500系列標(biāo)準(zhǔn)被打包在整個(gè)OSI 中,非常龐大、臃腫并嚴(yán)重消耗資源,這就是ITU 標(biāo)準(zhǔn)的現(xiàn)實(shí)。

時(shí)間很快到了上世紀(jì)90年代初期,IETF 看到了訪問(wèn)全球目錄服務(wù)的需求(最初也是和ITU 制定email 標(biāo)準(zhǔn)需要目錄服務(wù)一樣的原因),但是沒(méi)有全部采用讓人感覺(jué)頭大的OSI 協(xié)議,而是開(kāi)啟輕量級(jí)目錄服務(wù)訪問(wèn)協(xié)議(LDAP )的制定工作。LDAP 被設(shè)計(jì)為提供與X.519標(biāo)準(zhǔn)一樣的功能,但使用TCP/IP協(xié)議——同時(shí)仍然允許與基于X.500協(xié)議的目錄進(jìn)行交互工作(inter-working )。實(shí)際上,與X.500 (DAP)的交互工作(inter-working )和映射(Maping )一直是IETF LDAP RFCs系列標(biāo)準(zhǔn)的組成部分。

注: IETF 國(guó)際互聯(lián)網(wǎng)工程任務(wù)組(The Internet Engineering Task Force,簡(jiǎn)稱IETF )

在LDAP 規(guī)范中,很多非常糾結(jié)的問(wèn)題主來(lái)自于目錄根 (directory root )的命名規(guī)約,這個(gè)問(wèn)題可以追溯到X.500的交互工作以及全球目錄的需求。

,

LDAP –大體上–與DPA 的不同之處如下:

1. TCP/IP用于LDAP-DAP 使用OSI 作為傳輸/網(wǎng)絡(luò)層協(xié)議。

2. 在功能上的一些縮減 – 在X.519中一些模糊的、重復(fù)的和很少使用的功能被以安靜

(quietly )和仁慈(mercifully )的方式刪除。

,

3. 在LDAP 中用文本表達(dá)方式(用于LDAP URLs和查找過(guò)濾器)替換了部分ASN.1(X.519)的表達(dá)方式。對(duì)于這一點(diǎn),IETF 受到了很多贊揚(yáng),但遺憾的是,很多ASN.1標(biāo)記仍然被保留。

1.2 LDAP 概述(Overview )

技術(shù)上講,LDAP 只是一個(gè)定義目錄數(shù)據(jù)訪問(wèn)方法的協(xié)議。必然地,LDAP 就需要定義和描述目錄服務(wù)中數(shù)據(jù)如何表達(dá)(數(shù)據(jù)(信息)模型)。最后,它還需要定義目錄服務(wù)如何加載(導(dǎo)入)和備份(導(dǎo)出)數(shù)據(jù)(使用LDIF )。LDAP 沒(méi)有定義如何存儲(chǔ)和操作數(shù)據(jù)。數(shù)據(jù)的存儲(chǔ)和訪問(wèn)方法是盡可能標(biāo)準(zhǔn)化的自動(dòng)處理過(guò)程,并且通常由所有特定LDAP 實(shí)現(xiàn)的后臺(tái)模塊(通常會(huì)使用某種形式的事務(wù)數(shù)據(jù)庫(kù))處理。

LDAP 定義了4個(gè)模型,下面將會(huì)有簡(jiǎn)短描述——你可以很快就忘了這些模型,因?yàn)樗鼈儗?duì)理解LDAP 沒(méi)有太多幫助。

1. 信息模型(Information Model):我們更傾向于使用術(shù)語(yǔ)數(shù)據(jù)模型,我們的觀點(diǎn)是數(shù)據(jù)模型這個(gè)術(shù)語(yǔ)更加直觀和易于理解。數(shù)據(jù)(或信息)模型定義如何在LDAP 系統(tǒng)中表達(dá)信息或數(shù)據(jù)。它也可能包括數(shù)據(jù)的實(shí)際存儲(chǔ)方法,但這個(gè)問(wèn)題已經(jīng)超出了上述LDAP 標(biāo)準(zhǔn)的范圍。

2. 命名模型(Naming Model):命名模型定義所有諸如 'dc=example,dc=com'這樣你在LDAP 系統(tǒng)中偶然發(fā)現(xiàn)的名稱. 這里,我們特別堅(jiān)持的命名規(guī)范,因?yàn)檫@些術(shù)語(yǔ)被廣泛使用。

3. 功能模型(Functional Model):當(dāng)你在讀取、查找、寫或者修改LDAP ,那么你就在使用功能模型。

4. 安全模型(Security Model): 你能夠以合適的粒度來(lái)控制誰(shuí)能對(duì)哪些數(shù)據(jù)做什么。這是一件復(fù)雜且強(qiáng)大的事情. 我們將以循序漸進(jìn)的方式來(lái)引入相關(guān)的概念并有專門的一章來(lái)闡述它。在開(kāi)始的時(shí)候——請(qǐng)先忘記安全。

LDAP 標(biāo)準(zhǔn)的范圍如下圖所示,紅色(1,2,3,4)表示東西是在協(xié)議中定義范圍之內(nèi)(定義LDAP 的各個(gè)RFC )。而在黑色框(或者綠色,黃色和紫色框)和連接到Databases 的黑色線是“天然存在的(automagical )”,并且不在標(biāo)準(zhǔn)的范圍之內(nèi)。

,

這里先簡(jiǎn)短介紹一下每個(gè)組件,后續(xù)章節(jié)中會(huì)有詳細(xì)的闡述,而這里首先介紹4個(gè)要點(diǎn):

1. LDAP 沒(méi)有定義數(shù)據(jù)如何被存儲(chǔ),只是定義數(shù)據(jù)如何被訪問(wèn)。但是大多數(shù)LDAP 實(shí)現(xiàn)使用一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)作為后端,而OpenLDAP 這樣的LDAP 實(shí)現(xiàn)還提供了選擇后端數(shù)據(jù)庫(kù)支持。

2. 當(dāng)你與LDAP 服務(wù)器進(jìn)行對(duì)話時(shí),你不知道數(shù)據(jù)來(lái)自哪里:其實(shí)關(guān)于標(biāo)準(zhǔn)的整點(diǎn)(whole point )就是隱藏這種細(xì)節(jié)。在理論上,數(shù)據(jù)可以來(lái)自于一個(gè)或者多個(gè)本地?cái)?shù)據(jù)庫(kù),也可能來(lái)自于一個(gè)或者多個(gè)X.500服務(wù)(盡管這種情況近來(lái)越來(lái)越罕見(jiàn))。在哪以及如何訪問(wèn)數(shù)據(jù)是實(shí)現(xiàn)細(xì)節(jié),而且只有在定義LDAP 服務(wù)器配置選項(xiàng)時(shí)這些問(wèn)題才顯得重要。

3. 記住兩個(gè)概念——訪問(wèn)LDAP 服務(wù)和運(yùn)轉(zhuǎn)LDAP 服務(wù)——在頭腦中要將兩個(gè)概念清晰地分開(kāi)。當(dāng)你設(shè)計(jì)基于目錄的系統(tǒng)時(shí),要明確你想要目錄做什么(數(shù)據(jù)的組織)并忘記如何實(shí)現(xiàn)。然后在第二階段才會(huì)明確數(shù)據(jù)在哪,以及在什么地方存儲(chǔ)這些數(shù)據(jù)——LDAP 配置過(guò)程。

4. 很多商業(yè)數(shù)據(jù)庫(kù)產(chǎn)品提供了關(guān)系型或其他數(shù)據(jù)庫(kù)類型的LDAP 視圖(一種LDAP 的包裝或抽象)。

1.3 LDAP 與Database 的比較

LDAP 服務(wù)的特點(diǎn)是“一次寫入,多次讀取”。也就是說(shuō),在LDAP 服務(wù)中存儲(chǔ)的數(shù)據(jù)通常不希望每次訪問(wèn)時(shí)都被更改。為了說(shuō)明這一點(diǎn):LDAP 不適合維護(hù)銀行交易記錄,因?yàn)椋瑥臉I(yè)務(wù)本質(zhì)上看,這些交易記錄幾乎每次訪問(wèn)都會(huì)被更改。但LDAP 非常適合維護(hù)銀行分支機(jī)構(gòu),開(kāi)業(yè)時(shí)間,員工等這樣的數(shù)據(jù)。這些數(shù)據(jù)很少變化。

,

讀優(yōu)化

我們還沒(méi)有弄清楚在“一次寫入,多次讀取”這個(gè)短句中,什么情況才算多次?

使用LDAP 還是使用經(jīng)典的面向事務(wù)的關(guān)系型數(shù)據(jù)庫(kù),比如SQLite,MYSQL ,PostGreSQL 的界線是什么呢?如果我們每個(gè)瞬間的訪問(wèn)都進(jìn)行了更新操作,這是一個(gè)合理的LDAP 應(yīng)用嗎?還是說(shuō)每1000或者100萬(wàn)次訪問(wèn)才進(jìn)行一次更新才是合理的LDAP 應(yīng)用?

關(guān)于這話題,上面的文字論述略顯單薄,并且主要是為了引起讀者的重視,像地址本這樣的LDAP 應(yīng)用也會(huì)變更數(shù)據(jù),也許,會(huì)經(jīng)常變化。

這個(gè)問(wèn)題沒(méi)有簡(jiǎn)單的答案,下面的觀點(diǎn)可能會(huì)有用:

1. 寫數(shù)據(jù)時(shí)的性能問(wèn)題取決于對(duì)索引的更新。索引(為了更快的讀)設(shè)置的越多,就希望目錄被更新的時(shí)候越少?!白x:寫”至少是1000:1,對(duì)于重度讀取優(yōu)化的LDAP 目錄,這一比率還會(huì)更高。

2. 在每次更新的時(shí)候,LDAP 的復(fù)制將會(huì)產(chǎn)生倍增的事務(wù),因此你要使實(shí)際更新的負(fù)荷降至最低(1000:1或者更高)。

3. 如果一次要更新的數(shù)據(jù)量很龐大(比方說(shuō)大于100,000條),盡管索引設(shè)置的數(shù)量很少,也會(huì)導(dǎo)致嚴(yán)重的性能問(wèn)題,因此你應(yīng)盡可能地減少這種更新(10,000:1)。

4. 如果數(shù)據(jù)量相對(duì)較少(比方使用說(shuō)小于1000條),索引數(shù)量適中,而且也沒(méi)有使用目錄復(fù)制(replication ),我們看不出有哪些足夠的理由不使用LDAP ,這種情況下,對(duì)LDAP 的使用非常接近一個(gè)基于事務(wù)的系統(tǒng),也就是說(shuō),每5-10次讀訪問(wèn)伴隨一個(gè)“寫閉環(huán)(write cycle)”(LDAP 中對(duì)更新(modify)的專門術(shù)語(yǔ))。

5. 我們對(duì)這個(gè)問(wèn)題的確定性的答案表示懷疑:讀寫比率是42!

數(shù)據(jù)結(jié)構(gòu)的可見(jiàn)性

支持LDAP 的目錄系統(tǒng)使用基本元素(Primitives :LDAP協(xié)議中的元素) 來(lái)訪問(wèn)數(shù)據(jù)目錄,基本元素使用一種通用的數(shù)據(jù)模型,這種數(shù)據(jù)模型來(lái)自對(duì)各種數(shù)據(jù)物理結(jié)構(gòu)的抽象?;驹丶俣艘粋€(gè)對(duì)象的數(shù)據(jù)模型而不關(guān)心該對(duì)象的實(shí)際數(shù)據(jù)結(jié)構(gòu)。實(shí)際上,LDAP 的簡(jiǎn)單性也是來(lái)自于這個(gè)特性。特定的LDAP 實(shí)現(xiàn)將在其后端(back-end )功能中以一種完全“全能自動(dòng)化(automagical )”的方式來(lái)完成LDAP 基本元素與數(shù)據(jù)的物理結(jié)構(gòu)之間的映射。

與此形成鮮明的對(duì)照就是SQL ,在SQL 查詢中可用于詢問(wèn)數(shù)據(jù)是否完整,以及表(table )或連接(joins )等數(shù)據(jù)結(jié)構(gòu)的細(xì)節(jié)。

數(shù)據(jù)同步和復(fù)制

關(guān)系型和事務(wù)型數(shù)據(jù)庫(kù)針對(duì)寫/更新閉環(huán)過(guò)程中如何保證數(shù)據(jù)一致性做到了極致,它們采用類似事務(wù),鎖,回滾以及其他的一些手段。對(duì)于這種類型的數(shù)據(jù)庫(kù)而言,這些需求非常重要而且必須滿足。這種極致的數(shù)據(jù)同步在數(shù)據(jù)向多個(gè)主機(jī)或服務(wù)復(fù)制時(shí)也得以延續(xù)和保證,因此,在任何時(shí)候,所有數(shù)據(jù)視圖都會(huì)保持一致。

在LDAP 主(master )服務(wù)器和LDAP 從(slave )服務(wù)器(或多主環(huán)境下的對(duì)等(peer )服務(wù)器)中的數(shù)據(jù)使用一種簡(jiǎn)單的異步(asynchronous )數(shù)據(jù)復(fù)制處理。這種方式的副作用就是使主服務(wù)器和從服務(wù)器(或?qū)Φ确?wù)器)在數(shù)據(jù)復(fù)制閉環(huán)過(guò)程中失去了數(shù)據(jù)的同步性。在這個(gè)過(guò)程中(通常時(shí)間很短),對(duì)主服務(wù)器和從服務(wù)器的查詢可能會(huì)得到不同的結(jié)果。如

,

果這種差異會(huì)導(dǎo)致系統(tǒng)無(wú)法正常運(yùn)作,那么LDAP 不適合這種應(yīng)用。但是如果在財(cái)務(wù)部門的LDAP 服務(wù)器中看到了BOB Smith,而在銷售部門的另一臺(tái)LDAP 服務(wù)其中延遲了幾秒鐘才看到BOB Smith,又有什么打緊呢?其實(shí),很多應(yīng)用都可以歸于此類。

注意: 現(xiàn)代的LDAP 實(shí)現(xiàn),尤其是支持多主服務(wù)器(Multi-master )配置的LDAP 實(shí)現(xiàn),在復(fù)制更新方面變得日益精致。另外,高速通信網(wǎng)絡(luò)也使復(fù)制操作的速度得以很大提高,但這些只是縮短了兩個(gè)系統(tǒng)之間進(jìn)行數(shù)據(jù)同步的時(shí)間窗口,并沒(méi)有消除LDAP 的數(shù)據(jù)同步行為——盡管大多數(shù)現(xiàn)代化的LDAP 實(shí)現(xiàn)已經(jīng)將數(shù)據(jù)同步的時(shí)間縮短為亞秒級(jí)(sub-second )。

1.3.1 LDAP用途總結(jié)

那么LDAP (目錄)的優(yōu)點(diǎn)是什么呢?而且為什么一個(gè)理性思考的人要用目錄呢?

在試圖回答這個(gè)問(wèn)題之前,讓我們先消除性能方面的戰(zhàn)術(shù)性問(wèn)題。通常,關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)(RDBMS )的性能仍然顯著高于LDAP 實(shí)現(xiàn)。隨著第二代目錄服務(wù)器的發(fā)展,二者之間的性能差距顯著縮短,但關(guān)系型數(shù)據(jù)庫(kù)的性能仍然高于LDAP 。假如你只作同種類型的比較(量測(cè)網(wǎng)絡(luò)發(fā)起的交易),這種差異就會(huì)變得更加微不足道。當(dāng)然,除非你每次操作都更新一個(gè)高度索引化的屬性——這種情況下,你會(huì)得到你想要(或不想要)的結(jié)果。

因此,我們?yōu)槭裁匆褂肔DAP ?這里我們列出了一些關(guān)鍵特性,這些特性值得付出更高代價(jià)。

1. LDAP 能夠以標(biāo)準(zhǔn)的方式訪問(wèn)遠(yuǎn)程及本地?cái)?shù)據(jù)。因而就可能做到替換LDAP 的實(shí)現(xiàn)而不影響數(shù)據(jù)的外部訪問(wèn)接口。關(guān)系型數(shù)據(jù)庫(kù)提供了標(biāo)準(zhǔn)的本地化數(shù)據(jù)訪問(wèn)方法,比如SQL ,但是遠(yuǎn)程數(shù)據(jù)訪問(wèn)接口則不同數(shù)據(jù)庫(kù)產(chǎn)品各有不同。

2. 因?yàn)長(zhǎng)DAP 使用了標(biāo)準(zhǔn)化的數(shù)據(jù)訪問(wèn)方法,這樣客戶端和服務(wù)器可以有不同的供應(yīng)商來(lái)源。在這一點(diǎn)上的擴(kuò)展,LDAP 可以用于為面向事務(wù)的數(shù)據(jù)庫(kù)建立抽象的數(shù)據(jù)視圖,也就是說(shuō),出于運(yùn)行用戶查詢的目的,允許用戶透明地(通過(guò)LDAP 查詢)變化后臺(tái)的事務(wù)型數(shù)據(jù)庫(kù)供應(yīng)商。

3. LDAP 提供一種將數(shù)據(jù)移動(dòng)到多個(gè)位置而不影響任何外部數(shù)據(jù)訪問(wèn)的方法。通過(guò)使用“引用”這種方法,只需要改變配置參數(shù),LDAP 的數(shù)據(jù)可以被移動(dòng)到其他的LDAP 服務(wù)器上。

4. LDAP 系統(tǒng)能夠以可選的方式配置為向一個(gè)或者多個(gè)應(yīng)用復(fù)制數(shù)據(jù),而無(wú)需增加代碼或變更外部訪問(wèn)的數(shù)據(jù)。

這些特性專門聚焦于LDAP 數(shù)據(jù)訪問(wèn)標(biāo)準(zhǔn)化的內(nèi)涵,而且沒(méi)有考慮讀寫比率,正如前面所提到的,讀寫比率依賴于所維護(hù)的操作型索引的數(shù)量。上面的這些特性暗示出不建議用LDAP 系統(tǒng)進(jìn)行事務(wù)處理——盡管已有一些跡象表明有些LDAP 實(shí)現(xiàn)具備事務(wù)的能力。

1.4 LDAP數(shù)據(jù)(對(duì)象)模型

支持LDAP 的目錄系統(tǒng)使用一個(gè)數(shù)據(jù)模型來(lái)表示層級(jí)的數(shù)據(jù)對(duì)象。但這意味著LDAP 是一個(gè)面向?qū)ο蟮臄?shù)據(jù)庫(kù)。正如上面所指出的那樣,LDAP 本身是一個(gè)協(xié)議,它只規(guī)定如何訪

,

問(wèn)LDAP 服務(wù),而沒(méi)有定義數(shù)據(jù)如何存儲(chǔ)——而是由操作型的基本元素(讀,刪除,修改)按照模型(描述/表示)對(duì)“類似對(duì)象”(大多數(shù)時(shí)候)的數(shù)據(jù)進(jìn)行操作

1.4.1 對(duì)象樹(shù)結(jié)構(gòu)

本節(jié)定義LDAP 的要素。如果你理解了本節(jié)內(nèi)容和各種不同的術(shù)語(yǔ)以及術(shù)語(yǔ)之間的相互關(guān)系,那么你就真的理解來(lái)了LDAP 。

數(shù)據(jù)在LDAP 系統(tǒng)中以層級(jí)對(duì)象的方式表達(dá),層級(jí)中的每個(gè)數(shù)據(jù)都被稱作條目。整個(gè)樹(shù)結(jié)構(gòu)被稱作目錄信息樹(shù)(DIT-。樹(shù)的頂端通常被稱為根(root ,也被稱為基(base )或者后綴(suffix ))。

樹(shù)中的每個(gè)條目(entry )都有一個(gè)父條目(對(duì)象)以及0或多個(gè)子條目(對(duì)象)。每個(gè)子條目(對(duì)象)與其父條目的其他子條目是同級(jí)關(guān)系。

每個(gè)條目都由一個(gè)或者多個(gè)構(gòu)成(是一個(gè)或者多個(gè)的實(shí)例)。Objectclasses 包含0或者多個(gè)屬性()屬性有名字(而且有時(shí)有縮寫或者別名)以及通常會(huì)包含數(shù)據(jù)(至少!)。

objectClasses 及其屬性的特性以ASN.1(抽象語(yǔ)法標(biāo)記1)定義方式進(jìn)行描述。

現(xiàn)在你知道了關(guān)于LDAP 的每件事情。剩下的就是一些細(xì)節(jié)了——LDAP 有很多細(xì)節(jié),但是這里只介紹核心部分。

下圖表明了這些概念之間的關(guān)系:

LDAP DIT Information (Data) Model

,

總結(jié):

1. 每個(gè)條目(Entry )都由一個(gè)或者多個(gè)對(duì)象類構(gòu)成(objectClasses )。

2. 每個(gè)對(duì)象類都有一個(gè)名字(name )。

3. 每個(gè)屬性(Attribute )都有一個(gè)名字,屬性通常都含有數(shù)據(jù),并且屬性是對(duì)象類(object class )的組成成員。

1.4.2 屬性(Attributes )

每個(gè)屬性都有一個(gè)名字并且正常情況下會(huì)含有數(shù)據(jù)。屬性通常與一個(gè)或者多個(gè)對(duì)象類(ObjectClasses )相關(guān)聯(lián)。屬性有很多有趣的特性:

1. 所有的屬性都是一個(gè)或者多個(gè)的對(duì)象類(objectclass )的成員。

2. 每個(gè)屬性都定義了它所包含數(shù)據(jù)的數(shù)據(jù)類型(data type).

3. 按照ASN.1的描述方式,作為對(duì)象類objectclass 的成員,屬性可以定義為可選(修飾關(guān)鍵詞為MAY )還是必須(修飾關(guān)鍵詞為MUST )。一個(gè)屬性在某個(gè)類對(duì)象中是可選屬性,但在其他對(duì)象類中可能是必須屬性,這件事情主要由類對(duì)象來(lái)決定。

有人顯然已經(jīng)看出,在本文中,屬性可以被從所有地方自由地選擇——這種困惑首先來(lái)自于大多數(shù)屬性的可選特性。LDAP 允許以“拼接”的方式來(lái)構(gòu)成一個(gè)條目。找到你想要的屬性,包括該屬性的類對(duì)象,以及希望所有其他不想在類對(duì)象中使用的屬性都是可以設(shè)置的。

4. 屬性可以有單值或者多值(正如ASN.1定義所描述的那樣)。單值意味著只有一個(gè)數(shù)據(jù)值可以用來(lái)表示那個(gè)屬性。多值意味著屬性可以有一個(gè)或者多個(gè)數(shù)據(jù)值。比如說(shuō),如果某個(gè)屬性表示的是email 地址,那么就可能有一個(gè),兩個(gè)或者500個(gè)值——這只是目錄設(shè)計(jì)中處理email 別名的多種方法中的一種方法而已。屬性默認(rèn)設(shè)置是多值(允許有多個(gè)值)。

5. Attributes 屬性都有名稱,并且有時(shí)后會(huì)有別名或者縮略名(正如ASN.1定義所描述的那樣),比如,commonName 是稱為person 的對(duì)象類(也可以是許多其他對(duì)象類)的一個(gè)成員屬性,同時(shí)該屬性有一個(gè)縮略名cn 。無(wú)論commonName 還是cn 都被用于指向同一個(gè)屬性。

6. 在樹(shù)狀層級(jí)中的每個(gè)具體層次,條目屬性中包含的數(shù)據(jù)都可以用于唯一標(biāo)識(shí)該條目??梢杂脳l目的一個(gè)屬性來(lái)標(biāo)識(shí)條目的唯一性,也可以用兩個(gè)以上屬性的組合來(lái)表示條目的唯一性。

假如你有一個(gè)傳統(tǒng)紙質(zhì)的名冊(cè)目錄,包含了名字,電話號(hào)碼,地址,喜歡的飲料(對(duì),是一個(gè)標(biāo)準(zhǔn)屬性)等等。為了唯一識(shí)別一個(gè)特定的條目,你可能選擇使用人的名字(commonName 或cn 屬性)。如果人名在LDAP 目錄中不是唯一的,比如'Bob Smith',那么查找'Bob Smith'將會(huì)返回目錄中所有包含名字為'Bob Smith'的條目,而且用戶必須要選擇他所要查找的人。對(duì)于讀取或者查詢的操作,這種情況可能會(huì)可以接受,甚至值得稱道。因?yàn)樵诿嫦蛉祟惖慕缑嬷惺褂昧艘鬃x的信息——人名。

標(biāo)簽: