LDAP 介紹


LDAP 是輕量目錄訪問協議,英文全稱是LIGHTWEIGHT DIRECTORY ACCESS PROTOCOL,一般都簡稱為 LDAP。

讀寫效率非常高

對讀操作進行優化的一種數據庫,在讀寫比例大於7比1的情況下,LDAP會體現出極高的性能。這個特性正適合了身份認證的需要。

開放的標准協議

不同於SQL數據庫,LDAP的客戶端是跨平台的,並且對幾乎所有的程序語言都有標准的API接口。

即使是改變了LDAP數據庫產品的提供廠商,開發人員也不用擔心需要修改程序才能適應新的數據庫產品。這個優勢是使用SQL語言進行查詢的關系型數據庫難以達到的。

強認證方式

可以達到很高的安全級別。

在國際化方面,LDAP使用了UTF-8編碼來存儲各種語言的字符。

OpenLDAP開源實現

OpenLDAP還包含了很多有創造性的新功能,能滿足大多數使用者的要求。

OpenLDAP是其中最輕便且消耗系統資源最少的一個。

OpenLDAP是開源軟件,近年國內很多公司開發的LDAP產品都是基於OpenLDAP開發的。

靈活添加數據類型

LDAP是根據schema的內容定義各種屬性之間的從屬關系及匹配模式的。

例如在關系型數據庫中如果要為用戶增加一個屬性,就要在用戶表中增加一個字段,在擁有龐大數量用戶的情況下是十分困難的,需要改變表結構。

但LDAP只需要在schema中加入新的屬性,不會由於用戶的屬性增多而影響查詢性能。

數據存儲是樹結構

整棵樹的任何一個分支都可以單獨放在一個服務器中進行分布式管理,不僅有利於做服務器的負載均衡,還方便了跨地域的服務器部署。

這個優勢在查詢負載大或企業在不同地域都設有分公司的時候體現尤為明顯。

 

 

LDAP 的特點

  1. LDAP 是一種網絡協議而不是數據庫,而且LDAP的目錄不是關系型的,沒有RDBMS那么復雜,
  2. LDAP不支持數據庫的Transaction機制,純粹的無狀態、請求-響應的工作模式。
  3. LDAP不能存儲BLOB,LDAP的讀寫操作是非對稱的,讀非常方便,寫比較麻煩,
  4. LDAP支持復雜的查詢過濾器(filter),可以完成很多類似數據庫的查詢功能。
  5. LDAP使用樹狀結構,接近於公司組織結構、文件目錄結構、域名結構等我們耳熟能詳的東西。 LDAP使用簡單、接口標准,並支持SSL訪問。

LDAP與NIS相比

1.LDAP是標准的、跨平台的,在Windows下也能支持。
2.LDAP支持非匿名的訪問,而且有比較復雜的訪問控制機制(如ACL),安全性似乎更好一些。
3.LDAP支持很多復雜的查詢方式。
4.LDAP的用途較NIS更為廣泛,各種服務都可以和LDAP掛鈎。

LDAP 的主要應用場景

.網絡服務:DNS服務
2.統一認證服務:
3.Linux PAM (ssh, login, cvs. . . )
4.Apache訪問控制
5.各種服務登錄(ftpd, php based, perl based, python based. . . )
6.個人信息類,如地址簿
7.服務器信息,如帳號管理、郵件服務等

 

 

作為一般的公司來說,LDAP 很多時候被用來權限認證,軟件和內部系統的用戶管理和認證。

設想下,你有一個軟件公司,公司里面有超過上千的員工,你們公司可能會用到各種軟件,比如說 JIRA,Wiki,代碼庫,考勤系統等等。

LDAP 就充當了授權的這個角色,你可用在 LDAP 中對用戶進行授權,分組,這樣你的用戶就會具有不通過軟件平台的訪問權限了。

現在公司的流動性也非常強,每天都會有入職的也會有離職的,對每一個人都要進行授權,撤銷權限,跨域管理等等與用戶有關的操作,在大一點的公司這個簡直就是災難。

LDAP 能夠很好的解決這個問題。

Spring Data 提供了基於 LDAP 協議訪問的 API,需要注意的是,在開發的時候需要將 LDAP 認為是一個數據庫,只是與普通數據庫不同的是,LDAP 使用的是 LDAP 的協議。

否則,在用戶分組查詢,等基於 Spring Data LDAP 的編程過程中,你可能會感到非常困惑。

 

https://www.ossez.com/t/ldap/523


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM