來源:關鍵字排名
ldap 是什么?
LDAP(Lightweight Directory Access Protocol)即輕量級目錄訪問協議,提供信息服務。那啥是目錄服務呢?
目錄服務是一種特殊的數據庫系統,其專門針對讀取,瀏覽和搜索操作進行了特定的優化。目錄一般用來包含描述性的,基於屬性的信息並支持精細復雜的過濾能力。目錄一般不支持通用數據庫針對大量更新操作操作需要的復雜的事務管理或回卷策略。
LDAP目錄中的信息是是按照樹型結構組織,具體信息存儲在條目(entry)的數據結構中。條目相當於關系數據庫中表的記錄;條目是具有區別名DN (Distinguished Name)的屬性(Attribute),DN是用來引用條目的,DN相當於關系數據庫表中的關鍵字(Primary Key)。屬性由類型(Type)和一個或多個值(Values)組成,相當於關系數據庫中的字段(Field)由字段名和數據類型組成,只是為了方便檢索的需要,LDAP中的Type可以有多個Value,而不是關系數據庫中為降低數據的冗余性要求實現的各個域必須是不相關的。LDAP中條目的組織一般按照地理位置和組織關系進行組織,非常的直觀。LDAP把數據存放在文件中,為提高效率可以使用基於索引的文件數據庫,而不是關系數據庫。
LDAP的信息是以樹型結構存儲的,在樹根一般定義國家(c=CN)或域名(dc=com),在其下則往往定義一個或多個組織 (organization)(o=Acme)或組織單元(organizational units) (ou=People)。
每一個entry都可以由對象類別(objectClass)的屬性來支持哪些屬性進行控制,該屬性的值決定了該條目必須遵循的一些規則,比如,inetorgPerson對象類需要支持sn(surname)和cn(common name)屬性,但也可以包含可選的如郵件,電話號碼等屬性。
例如上圖的babs條目中:
DN:uid=babs,ou=people,dc=example,dc=com,相對於ou=people,dc=example,dc=com 節點的rDN:uid=babs
ObjectClass:Person
通常一個節點用一個dn(Distinguished Name)來標識其唯一性,舉一個更加通俗的例子:cn=張三,ou=測試部門,dc=example.com 如此的一個表達式即說明,員工張三是測試部門的,並且是example.com公司的員工。
LDAP簡稱對應
- o:organization(組織-公司)
- ou:organization unit(組織單元-部門)
- c:countryName(國家)
- dc:domainComponent(域名)
- sn:suer name(真實名稱)
- cn:common name(常用名稱)
ldap特點:
- LDAP的結構用樹來表示,而不是用表格。正因為這樣,就不能用SQL語句了
- LDAP可以很快地得到查詢結果,不過在寫方面,就慢得多
- LDAP提供了靜態數據的快速查詢方式
- Client/server模型,Server 用於存儲數據,Client提供操作目錄信息樹的工具
- 這些工具可以將數據庫的內容以文本格式(LDAP 數據交換格式,LDIF)呈現在您的面前
- LDAP是一種開放Internet標准,LDAP協議是跨平台的Interent協議
ldap 能干什么?
SEO營銷使用目錄服務器最常見的情況就是多系統間的集中用戶管理,比如公司會使用OA,Confluence,gitlab,jira等等辦公系統。如果每個系統都需要我們記住一個賬號密碼,那無疑是很費力的。通過使用LDAP目錄服務器將多個應用的用戶集中管理起來,每個應用都通過通用的LDAP協議與目錄服務器通信,達到用戶信息集中管理的目的。事實上很多的開源項目都支持LDAP用戶認證(例如SuperSet,Hue等等)。目錄服務可以存儲包括個人信息、web鏈結、jpeg圖像等各種信息。因此,很多企業用來管理組織機構和用戶,做身份的統一認證。
踩坑:
剛開始,萌新通常對objectclass是很懵逼的,他到底約束了哪些屬性,哪些又是必須填的??不填或者填寫的格式不對,都會報錯,讓人簡直咬牙切齒。下面簡單說下我遇到的問題。
通常,我們需要把一個組織機構掛在一個某個節點下,需要提供下面兩個objectclass就可以了:
objectclass: top objectclass: organizationalUnit
而top是organizationalUnit的父類。因此organizationalUnit可以擁有top的所有屬性,請注意,ou屬性必填
通常我們把一個人掛在某個節點下,提供以下約束:
objectclass: top objectclass: person objectclass: organizationalPerson objectclass: inetOrgPerson
百度seo關鍵詞排名以上四個類,從下往上依次為繼承關系,請注意:sn和cn兩個屬性是必填的。