LDAP概念和原理介紹
相信對於許多的朋友來說,可能聽說過LDAP,但是實際中對LDAP的了解和具體的原理可能還比較模糊,今天就從“什么是LDAP”、“LDAP的主要產品”、“LDAP的基本模型”、“LDAP的使用案例”四個方面來做一個介紹。
我們在開始介紹之前先來看幾個問題:
1. 我們日常的辦公系統是不是有多個?
2. 每個系統之間是不是都有獨立的賬號密碼?
3. 密碼多了,有時候半天想不起來哪個密碼對應哪個系統?
4. 每次新項目的開發,都需要重新開發和維護一套用戶密碼?
5. 維護多套系統的用戶是不是非常頭疼?
So,如今大家再也不用為上面的的問題頭疼了,因為“LDAP統一認證服務”已經幫助大家解決這些問題了。那么相信大家對“LDAP統一認證服務”是干嘛的已經有一個大概的了解了吧?那我們開始今天要講解的內容吧!
一、什么是LDAP?
(一)在介紹什么是LDAP之前,我們先來復習一個東西:“什么是目錄服務?”
1. 目錄服務是一個特殊的數據庫,用來保存描述性的、基於屬性的詳細信息,支持過濾功能。
2. 是動態的,靈活的,易擴展的。
如:人員組織管理,電話簿,地址簿。
(二)了解完目錄服務后,我們再來看看LDAP的介紹:
LDAP(Light Directory Access Portocol),它是基於X.500標准的輕量級目錄訪問協議。
目錄是一個為查詢、瀏覽和搜索而優化的數據庫,它成樹狀結構組織數據,類似文件目錄一樣。
目錄數據庫和關系數據庫不同,它有優異的讀性能,但寫性能差,並且沒有事務處理、回滾等復雜功能,不適於存儲修改頻繁的數據。所以目錄天生是用來查詢的,就好象它的名字一樣。
LDAP目錄服務是由目錄數據庫和一套訪問協議組成的系統。
(三)為什么要使用
LDAP是開放的Internet標准,支持跨平台的Internet協議,在業界中得到廣泛認可的,並且市場上或者開源社區上的大多產品都加入了對LDAP的支持,因此對於這類系統,不需單獨定制,只需要通過LDAP做簡單的配置就可以與服務器做認證交互。“簡單粗暴”,可以大大降低重復開發和對接的成本。
我們拿開源系統(YAPI)做案例,只需做一下簡單的幾步配置就可以達到LDAP的單點登錄認證了:
{ "ldapLogin": { "enable": true, "server": "ldap://l-ldapt1.ops.dev.cn0.qunar.com", "baseDn": "CN=Admin,CN=Users,DC=test,DC=com", "bindPassword": "password123", "searchDn": "OU=UserContainer,DC=test,DC=com", "searchStandard": "mail" } }

是不是很方便呢?
二、LDAP的主要產品
細心的朋友應該會主要到,LDAP的中文全稱是:輕量級目錄訪問協議,說到底LDAP僅僅是一個訪問協議,那么我們的數據究竟存儲在哪里呢?
來,我們一起看下下面的表格:
| 廠商 |
產品 |
介紹 |
| SUN |
SUNONE Directory Server |
基於文本數據庫的存儲,速度快 。 |
| IBM |
IBM Directory Server |
基於DB2 的的數據庫,速度一般。 |
| Novell |
Novell Directory Server |
基於文本數據庫的存儲,速度快, 不常用到。 |
| Microsoft |
Microsoft Active Directory |
基於WINDOWS系統用戶,對大數據量處理速度一般,但維護容易,生態圈大,管理相對簡單。 |
| Opensource |
Opensource |
OpenLDAP 開源的項目,速度很快,但是非主 流應用。 |
沒錯,這就是正常存儲數據的地方,而訪問這些數據就是通過我們上述所說的LDAP。相信到這里大家應該了解兩者之間的關系了吧!
三、LDAP的基本模型
每一個系統、協議都會有屬於自己的模型,LDAP也不例外,在了解LDAP的基本模型之前我們需要先了解幾個LDAP的目錄樹概念:
(一)目錄樹概念
1. 目錄樹:在一個目錄服務系統中,整個目錄信息集可以表示為一個目錄信息樹,樹中的每個節點是一個條目。
2. 條目:每個條目就是一條記錄,每個條目有自己的唯一可區別的名稱(DN)。
3. 對象類:與某個實體類型對應的一組屬性,對象類是可以繼承的,這樣父類的必須屬性也會被繼承下來。
4. 屬性:描述條目的某個方面的信息,一個屬性由一個屬性類型和一個或多個屬性值組成,屬性有必須屬性和非必須屬性。
(二)DC、UID、OU、CN、SN、DN、RDN
| 關鍵字 |
英文全稱 |
含義 |
| dc |
Domain Component |
域名的部分,其格式是將完整的域名分成幾部分,如域名為example.com變成dc=example,dc=com(一條記錄的所屬位置) |
| uid |
User Id |
用戶ID songtao.xu(一條記錄的ID) |
| ou |
Organization Unit |
組織單位,組織單位可以包含其他各種對象(包括其他組織單元),如“oa組”(一條記錄的所屬組織) |
| cn |
Common Name |
公共名稱,如“Thomas Johansson”(一條記錄的名稱) |
| sn |
Surname |
姓,如“許” |
| dn |
Distinguished Name |
“uid=songtao.xu,ou=oa組,dc=example,dc=com”,一條記錄的位置(唯一) |
| rdn |
Relative dn |
相對辨別名,類似於文件系統中的相對路徑,它是與目錄樹結構無關的部分,如“uid=tom”或“cn= Thomas Johansson” |
(三)基本模型:
信息模型:

命名模型:

功能模型:

安全模型:

四、LDAP的使用
那我們是如何訪問LDAP的數據庫服務器呢?

統一身份認證主要是改變原有的認證策略,使需要認證的軟件都通過LDAP進行認證,在統一身份認證之后,用戶的所有信息都存儲在AD Server中。終端用戶在需要使用公司內部服務的時候,都需要通過AD服務器的認證。
那么程序中是如何訪問的呢? 我們以PHP腳本作為例子:
$ldapconn = ldap_connect(“10.1.8.78") $ldapbind = ldap_bind($ldapconn, 'username', $ldappass); $searchRows= ldap_search($ldapconn, $basedn, "(cn=*)"); $searchResult = ldap_get_entries($ldapconn, $searchRows); ldap_close($ldapconn);
1. 連接到LDAP服務器;
2. 綁定到LDAP服務器;
3. 在LDAP服務器上執行所需的任何操作;
4. 釋放LDAP服務器的連接;
這章就只介紹LDAP的一些概念和基本的原理,代碼的操作下一章再展開來講錯或講的不好的地方,還望指教!~
ldap簡要介紹
目錄服務是一個特殊的數據庫,它為讀,瀏覽和搜索進行了優化。目錄可以用來保存描述性的,基於屬性的信息,並且支持復雜的過濾搜索能力。目錄通常不支持在一般的數據庫管理系統中支持的復雜的事務處理或者回滾機制——這些機制是為處理大容量的復雜更新操作而設計的。目錄更新只是簡單的“所有或者沒有”的更新——如果它們被允許的話。目錄被優化為針對大量的查找或者搜索操作進行快速的響應。它們可以具有大范圍復制信息的功能,以便提高可用性和可靠性,同時縮短響應時間。
LDAP是輕量目錄訪問 協議,英文全稱是Lightweight Directory Access Protocol, 一般都簡稱為LDAP。它是基於X.500標 准的,但是簡單多了並且可以根據需要定制。與X.500不同,LDAP支持TCP/IP,這對訪問Internet是必須的。LDAP的核心規范在RFC中都有定義,所有與LDAP相關的RFC都可以在LDAPman RFC網頁中找到。
LDAP是 一個用來發布目錄信息到許多不同資源的協議。通常它都作為一個集中的地址本使用,不過根據組織者的需要,它可以做得更加強大。
1.2. LDAP是電話簿
LDAP其 實是一電話簿,類似於我們所使用諸如NIS(Network Information Service)、DNS (Domain Name Service)等網絡目錄,也類似於你在花園中所看到的樹木。
1.3. LDAP是不是數據庫
不少LDAP開 發人員喜歡把LDAP與關系數據庫相比,認為是另一種的存貯方式,然后在讀性能上進行比較。實際 上,這種對比的基礎是錯誤的。LDAP和關系數據庫是兩種不同層次的概念,后者是存貯方式(同一層 次如網格數據庫,對象數據庫),前者是存貯模式和訪問協議。LDAP是一個比關系數據庫抽象層次更 高的存貯概念,與關系數據庫的查詢語言SQL屬同一級別。LDAP最 基本的形式是一個連接數據庫的標准方式。該數據庫為讀查詢作了優化。因此它可以很快地得到查詢結果,不過在其它方面,例如更新,就慢得多。
從另一個意義上 LDAP是實現了指定的數 據結構的存貯,它是一種特殊的數據庫。但是LDAP和一般的數據庫不同,明白這一點是很重要的。 LDAP對查詢進行了優化,與寫性能相比LDAP的 讀性能要優秀很多。
就象Sybase、Oracle、Informix或Microsoft的數據庫管理系統(DBMS)是用於 處理查詢和更新關系型數據庫那樣,LDAP服務器也是用來處理查詢和更新LDAP目錄的。換句話來說LDAP目錄也是一種類型的 數據庫,但不是關系型數據庫。要特別注意的是,LDAP通常作為一個hierarchal數據庫使用,而不是一個關系數據庫。因此,它的結構用樹來表示比用表格好。正因為這樣,就 不能用SQL語句了。
ladp- 2. LDAP的特點
2.1. LDAP的優勢
2.1.1 跨平台
LDAP最大的優勢是:可以在任何計算機平台上,用很容易獲得的而且數目不斷增加的LDAP的客戶端程序訪問LDAP目錄。而且也很容易定 制應用程序為它加上LDAP的支持。
LDAP協議是跨平台的和標准的協議,因此應用程序就不用為LDAP目錄放在什么樣的服務器上操心了。實際上,LDAP得 到了業界的廣泛認可,因為它是Internet的標准。產商都很願意在產品中加入對LDAP的支持,因為他們根本不用考慮另一端(客戶端或服務端)是怎么樣的。LDAP服務器可以是任何一個開發源代碼或商用的LDAP目 錄服務器(或者還可能是具有LDAP界面的關系型數據庫),因為可以用同樣的協議、客戶端連接軟件 包和查詢命令與LDAP服務器進行交互。與LDAP不 同的是,如果軟件產商想在軟件產品中集成對DBMS的支持,那么通常都要對每一個數據庫服務器單獨 定制。
2.1.2 費用及維護
不象很多商用的關系型數據庫,你不必為LDAP的 每一個客戶端連接或許可協議付費。
大多數的LDAP服 務器安裝起來很簡單,也容易維護和優化。
2.1.3 復 制技術
LDAP服務器可以用"推"或"拉"的方法復制部分或全部數據,例如:可以把數據"推"到遠程的辦公室,以增加數據的安全性。復制技術是內置在LDAP服 務器中的而且很容易配置。如果要在DBMS中使用相同的復制功能,數據庫產商就會要你支付額外的費 用,而且也很難管理。
2.1.4 允 許使用ACI
LDAP允許你根 據需要使用ACI(一般都稱為ACL或者訪 問控制列表)控制對數據讀和寫的權限。例如,設備管理員可以有權改變員工的工作地點和辦公室號碼,但是不允許改變記錄中其它的域。ACI可以根據誰訪問數據、訪問什么數據、數據存在什么地方以及其它對數據進行訪問控制。因為這些都是由LDAP目錄服務器完成的,所以不用擔心在客戶端的應用程序上是否要進行安全檢查。
2.2. LDAP存儲什么數據
LDAP對 於這樣存儲這樣的信息最為有用:也就是數據需要從不同的地點讀取,但是不需要經常更新。例如,這些信息存儲在LDAP目 錄中是十分有效的:
l 公司員 工的電話號碼簿和組織結構圖
l 客 戶的聯系信息
l 計算機管理需 要的信息,包括NIS映射、email假 名,等等
l 軟件包的配置信息
l 公用證書和安全密匙
2.3. 什 么時候該用LDAP存儲數據
大多數的LDAP服 務器都為讀密集型的操作進行專門的優化。因此,當從LDAP服務器中讀取數據的時候會比從專門為OLTP優化的關系型數據庫中讀取數據快一個數量級。也是因為專門為讀的性能進行優化,大多數的LDAP目錄服務器並不適合存儲需要需要經常改變的數據。例如,用LDAP服 務器來存儲電話號碼是一個很好的選擇,但是它不能作為電子商務站點的數據庫服務器。
如 果下面每一個問題的答案都是"是",那么把 數據存在LDAP中就是一個好主意。
l 需要在任何平台上都能讀取數據嗎?
l 每一個單獨的記錄項是不是每一天都只有很少的改變?
l 可以把數據存在平面數據庫(flat database)而不是關系型數據庫中嗎?換句話來說,也就是不管什么范式不范式的,把所有東西都存在一個記錄中(差不多只要滿足第一范 式)。
最后一個問題可能會唬住一些人,其實用平面數據庫去存儲一些關系型的數據也是很 一般的。例如,一條公司員工的記錄就可以包含經理的登錄名。用LDAP來存儲這類信息是很方便的。 一個簡單的判斷方法:如果可以把保數據存在一張張的卡片里,就可以很容易地把它存在LDAP目錄 里。
ladp- 3. LDAP的基本模型
3.1 信息模型:描述LDAP的信息表示方式
在LDAP中 信息以樹狀方式組織,在樹狀信息中的基本數據單元是條目,而每個條目由屬性構成,屬性中存儲有屬性值;LDAP中 的信息模式,類似於面向對象的概念,在LDAP中每個條目必須屬於某個或多個對象類(Object Class),每個Object Class由 多個屬性類型組成,每個屬性類型有所對應的語法和匹配規則;對象類和屬性類型的定義均可以使用繼承的概念。每個條目創建時,必須定義所屬的對象類,必須提 供對象類中的必選屬性類型的屬性值,在LDAP中一個屬性類型可以對應多個值。
在LDAP中把對象類、屬性類型、語法和匹 配規則統稱為Schema,在LDAP中有 許多系統對象類、屬性類型、語法和匹配規則,這些系統Schema在LDAP標准中進行了規定,同時不同的應用領域也定義了自己的Schema, 同時用戶在應用時,也可以根據需要自定義Schema。這有些類似於XML,除了XML標准中的XML定義外,每個行業都有自己標准的DTD或DOM定義,用戶也可以自擴展;也如同XML,在LDAP中也鼓勵用戶盡量使用標准的Schema,以 增強信息的互聯互通。
在Schema中 最難理解的是匹配規則,這是LDAP中為了加快查詢的速度,針對不同的數據類型,可以提供不同的匹 配方法,如針對字符串類型的相等、模糊、大於小於均提供自己的匹配規則。
3.2 命名模型:描述LDAP中的數據如何組織
LDAP中 的命名模型,也即LDAP中的條目定位方式。在LDAP中 每個條目均有自己的DN和RDN。DN是該條目在整個樹中的唯一名稱標識,RDN是條目 在父節點下的唯一名稱標識,如同文件系統中,帶路徑的文件名就是DN,文件名就是RDN。
3.3 功能模型:描述LDAP中的數據操作訪問
在LDAP中 共有四類10種操作:查詢類操作,如搜索、比較;更新類操作,如添加條目、刪除條目、修改條目、修 改條目名;認證類操作,如綁定、解綁定;其它操作,如放棄和擴展操作。除了擴展操作,另外9種是LDAP的標准操作;擴展操作是LDAP中為了增加新 的功能,提供的一種標准的擴展框架,當前已經成為LDAP標准的擴展操作,有修改密碼和StartTLS擴展,在新的RFC標准和草案中正在 增加一些新的擴展操作,不同的LDAP廠商也均定義了自己的擴展操作。
3.4 安 全模型:描述LDAP中的安全機制
LDAP中的安全模型主要通過身份認證、安全通道和訪問控制來實現。
3.4.1 身份認證
在LDAP中提供三種認證機制,即匿名、基 本認證和SASL(Simple Authentication and Secure Layer)認證。匿名認證即不對用戶進行認證,該方法僅對完全公開的方式適用;基 本認證均是通過用戶名和密碼進行身份識別,又分為簡單密碼和摘要密碼認證;SASL認證即LDAP提供的在SSL和TLS安全通道基礎上進行的身份認證,包括數字證書的認證。
3.4.2 通訊安全
在LDAP中提供了基於SSL/TLS的通訊安全保障。SSL/TLS是基於PKI信息安全技術,是目前Internet上廣泛采用的安全服務。LDAP通過StartTLS方式啟動TLS服務,可以提供通訊中 的數據保密性、完整性保護;通過強制客戶端證書認證的TLS服務,同時可以實現對客戶端身份和服務 器端身份的雙向驗證。
3.4.3 訪 問控制
雖然LDAP目前並無訪 問控制的標准,但從一些草案中或是事實上LDAP產品的訪問控制情況,我們不難看出:LDAP訪問控制異常的靈活和豐富,在LDAP中是基於 訪問控制策略語句來實現訪問控制的,這不同於現有的關系型數據庫系統和應用系統,它是通過基於訪問控制列表來實現的,無論是基於組模式或角色模式,都擺脫 不了這種限制。
在使用關系型數據庫系統開發應用時,往往是通過幾個固定的數據庫用戶名 訪問數據庫。對於應用系統本身的訪問控制,通常是需要建立專門的用戶表,在應用系統內開發針對不同用戶的訪問控制授權代碼,這樣一旦訪問控制策略變更時, 往往需要代碼進行變更。總之一句話,關系型數據庫的應用中用戶數據管理和數據庫訪問標識是分離的,復雜的數據訪問控制需要通過應用來實現。
而對於LDAP,用戶數據管理和訪問標識是 一體的,應用不需要關心訪問控制的實現。這是由於在LDAP中的訪問控制語句是基於策略語句來實現 的,無論是訪問控制的數據對象,還是訪問控制的主體對象,均是與這些對象在樹中的位置和對象本身的數據特征相關。
在LDAP中,可以把整個目錄、目錄的子樹、制定條目、特定條目屬性集或符合某過濾條件的條目作 為控制對象進行授權;可以把特定用戶、屬於特定組或所有目錄用戶作為授權主體進行授權;最后,還可以定義對特定位置(例如IP地址或DNS名稱)的訪問權。
ladp-4. LDAP數 據結構
LDAP是實現了指定的數據結構的 存貯,它包括以下可以用關系數據庫實現的結構要求:樹狀組織、條目認證、類型定義、許可樹形記錄拷貝。
4.1 樹 狀組織
無論是X500還是LDAP都是采用樹狀 方式進行記錄。每一個樹目錄都有一個樹根的入口條目,子記錄全部是這一根條目的子孫。這是目錄與關系數據類型最大的區別(關系數據庫的應用結構也可實現樹 狀記錄)。因此,把目錄看作是更高級的樹狀數據庫也未嘗不可,只不過除此外,它不能實現關系存貯的重要功能。
4.2 條 目和條目認證
LDAP是以條目作為認證的根據。ROOT的 權限認證與目錄本身無關,但除此外所有條目的認證權限由條目本身的密碼進行認證。LDAP可以配置 成各種各樣不同的父子條目權限繼承方式。
每一個條目相當於一個單一的平面文本記錄,由 條目自身或指定的條目認證進行訪問控制。因此,LDAP定義的存貯結構等同於一批樹狀組織的平面數 據庫,並提供相應的訪問控制。
條目中的記錄以名-值 對的形式存在,每一個名值對必須由數據樣式schema預定義。因此,LDAP可以看作是以規定的值類型以名值對形式存貯在一系列以樹狀組織的平面數據庫的記錄的集合。
4.3 數 據樣式(schema)
數據樣式schema是 針對不同的應用,由用戶指定(設計)類和屬性類型預定義,條目中的類(objectclass)和 屬性必須在在LDAP服務器啟動時載入內存的schema已 有定義。因此,AD活動目錄中的條目記錄就必須符合Active Directory的schema中。如果已提供的schema中的定義不夠用,用戶可以自行定義新的schema.
在http://ldap.akbkhome.com/index.php中可以看到常用的schema。
4.4 對象類型(objectClass)
因為LDAP目 錄可以定制成存儲任何文本或二進制數據,到底存什么要由你自己決定。LDAP目錄用對象類型(objectclass)的概念來定義運行哪一類的對象使用什么屬性。在幾乎所有的LDAP服務器中,你都要根據自己的需要擴展基本的LDAP目 錄的功能,創建新的對象類型或者擴展現存的對象類型。
條目中的記錄通過objectclass實現分類,objectClass是 一個繼承性的類定義,每一個類定義指定必須具備的屬性。如某一條目指定必須符合某個類型,則它必須具備超類所指定的屬性。
通過objectclass分類,分散的條 目中的記錄就實際上建立了一個索引結構,為高速的讀查詢打下了基礎。Objectclass也是過 濾器的主要查詢對象。
4.5 過濾器和語法
LDAP是一個查詢為主的記錄結構,無論是何種查詢方式,最終都由過濾器缺點查詢的條件。過濾器相當於SQL中的WHERE子句。任何LDAP的類過濾和字符串都必須放在括號內,如(objectclass=*),指列出所有類型的記錄(不過分類)。
可 以使用=,>=,<=,~=(約等於)進行比較,如(number<=100)。合並條件是最怪的,必須把操作符放在兩個操作對象的前面而不是中間,單一操 作對象用括號括起來。如
l A與B,不是A&B,而是(&(A)(B))。
l 或使用"|"表示;
l 非使用"!"表示。
l 對於"與",或"或"在 操作符后可以跟多個條件表達式,但非后則只參是單個表達式。
詳見RFC1558。
4.6 樹移植
LDAP最 重要的特性和要求並不是讀性能,而是擴展性。這一特性是通過樹移植和樹復制實現的。按LDAP的RFC要求,LDAP目錄應該可以任意地在不同的目錄 間連接、合並並實現自動復制,及自動性同步。這意味着用戶可以在任一LDAP中訪問條目,而不用管 其中某一部分是否復制自全世界另一目錄中的記錄,同時另一目錄中的記錄同樣在正常運作。
這一特性如果在關系數據庫中實現,意味着要使用程序化的非規范化預復制。類似於匯總賬目的設計。
4.7 LDIF交 換文件
LDIF是LDAP約定的記錄交換格式, 以平面文本的形式存在,是大部分LDAP內容交換的基礎,如拷貝、添加、修改等操作,都是基於LDIF文件進行操作。
4.8 JAVA或CORBA對象串行化存儲
網絡高效率的訪問加上JAVA的跨平台能力,當把JAVA或CORBA對象串行化后存儲到LDAP目錄上時,可以產 生非同一般的集成效果--實際上,這正是EJB和.NET的網絡定位基礎技術。
使用JAVA或CORBA對象存儲時,必須首先讓LDAP服務支持該對象定義,也就是說包含qmail.schema或corba.schema。
JAVA必須存儲在objectclass=javacontainer的 條目中,而且必須帶有cn屬性,這意味着除非該JAVA類 專門實現了DirContext接口,對於大多數JAVA類 來說,只能采用DirContext代替Context實 現bind的添加操作。取出JAVA類相對 要簡單得多,只需使用context.lookup()獲得該對象的句柄,然后強制造型成所需要的 對象就可以了,如:
Person p=(Person)contex.lookup("cn=elvis,dc=daifu,dc=com");
這個句法在EJB的程序中,是經常用到的。
使用CORBA的跨語言性質,使用CORBA存儲對象比JAVA更加誘人,這意味着所存儲的對象可以被任何語言編寫的客戶端訪問。其實,微軟的.net說到底也非常簡單,無非是把COM對象存儲到微 軟自家的目錄ActiveDirectory里面,從而可以在網絡范圍內使用任何微軟平台的語言進 行對象訪問而已。眾所周知,COM就是與CORBA相 對的微軟規范。
使用對象串行化技術,可以把常用對象如某個打印機,某個客戶直接存儲到LDAP中,然后快速獲取該對象的引用,這樣,就比把對象信息存儲到關系數據庫中,分別取出屬性,然后再初始 化對象操作的做法,效率要高得多了。這是LDAP目前比普通關系數據庫存儲要優秀的地方,而對象數 據庫還不成熟.
表一、LDAP常用的關鍵字:
| 關鍵字 |
英文全稱 |
含義 |
| dc |
Domain Component |
域名的部分,其格式是將完整的域名分成幾部分,如域名為example.com變成dc=example,dc=com |
| uid |
User Id |
用戶ID,如“tom” |
| ou |
Organization Unit |
組織單位,類似於Linux文件系統中的子目錄,它是一個容器對象,組織單位可以包含其他各種對象(包括其他組織單元),如“market” |
| cn |
Common Name |
公共名稱,如“Thomas Johansson” |
| sn |
Surname |
姓,如“Johansson” |
| dn |
Distinguished Name |
惟一辨別名,類似於Linux文件系統中的絕對路徑,每個對象都有一個惟一的名稱,如“uid= tom,ou=market,dc=example,dc=com”,在一個目錄樹中DN總是惟一的 |
| rdn |
Relative dn |
相對辨別名,類似於文件系統中的相對路徑,它是與目錄樹結構無關的部分,如“uid=tom”或“cn= Thomas Johansson” |
| c |
Country |
國家,如“CN”或“US”等。 |
| o |
Organization |
組織名,如“Example, Inc.” |
表一 LDAP常用的關鍵字列表

