1、LDAP單點登入
? ? 1.1LDAP(Lightweight Directory Access Protocol)概念:
? ? LDAP是一種通訊協(xié)議,是輕量目錄訪問協(xié)議,支持TCP/IP。而目錄是一個為查詢、瀏覽和搜索而優(yōu)化的
數(shù)據(jù)庫,它成樹狀結(jié)構(gòu)組織,類似文件目錄一樣,它有優(yōu)異的讀性能,但寫性能差,并沒有事務(wù)處理、回滾等
功能。
1.2LDAP的基本模型:
1.2.1目錄樹的概念:
? ? ? 目錄樹:在一個目錄服務(wù)系統(tǒng)中,整個目錄信息集可以表示為一個目錄信息樹,樹中的每個節(jié)點是一個條目。
? 條目:每個條目就是一條記錄,每個條目有自己的唯一可區(qū)別的名稱(DN)。
? 對象類:與某個實體類型對應(yīng)的一組屬性,對象類是可以繼承的,這樣父類的必須屬性也會被繼承下來。
? 屬性:描述條目的某個方面的信息,一個屬性由一個屬性類型和一個或多個屬性值組成,屬性有必須屬性和非必須屬性。
1.2.2DC、UID、OU、CN、SN、DN、RDN
關(guān)鍵字? ? ? ? ? ? ? 英文全稱? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 含義
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? ? ? ? ? ? ? ? 相對辨別名,類似于文件系統(tǒng)中的相對路徑,它是與目錄樹結(jié)構(gòu)無關(guān)的部分,如“uid=tom”或“cn= Thomas Johansson”
? ? 2、LDAP服務(wù)端分類:
2.1openLDAP:
? openLDAP默認以Berkeley DB作為后端數(shù)據(jù)庫,該數(shù)據(jù)庫主要以散列的數(shù)據(jù)類型進行數(shù)據(jù)存儲,如以鍵值對的方式進行存儲,
? Berkeley DB 是一類特殊的數(shù)據(jù)庫,主要用于搜索、瀏覽、更新查詢操作,一般對于一次寫入數(shù)據(jù)、多次查詢和搜索有很好
? 的效果。Berkeley DB 數(shù)據(jù)庫是面向查詢進行優(yōu)化,面向讀取進行優(yōu)化的數(shù)據(jù)庫。Berkeley DB 不支持事務(wù)型數(shù)據(jù)庫(MySQL、
? MariDB、Oracle 等)所支持的高并發(fā)的吞吐量以及復(fù)雜的事務(wù)操作。
2.2ApacheDS:除了LDAP協(xié)議外,它還支持Kerberos 5與更改密碼協(xié)議,并且增加了觸發(fā)器、存儲過程、隊列以及視圖這些LDAP所
缺少的結(jié)構(gòu)。
3.SSO單點登入的步驟:
? 解釋:SSO是指在多個應(yīng)用系統(tǒng)中,用戶只需登入一次就可訪問所有相互信任的應(yīng)用系統(tǒng)。可以分為兩大類:同域SSO與跨域SSO,其中
? 同域SSO又可分為完全同域SSO與同父域SSO。
a、用戶登入系統(tǒng),該應(yīng)用系統(tǒng)自動將用戶瀏覽器重定向到“統(tǒng)一身份認證服務(wù)”登入頁面,并傳遞service參數(shù)(用戶最初訪問的url地址)。
接著,“統(tǒng)一身份認證服務(wù)”根據(jù)用戶填寫的登入信息從LDAP目錄服務(wù)器中檢索校驗,若成功則返回最初登入地址。
b、認證成功,在返回最初登入地址時傳遞ticket參數(shù),該參數(shù)由“統(tǒng)一身份認證服務(wù)”自動隨機創(chuàng)建,ticket值與當(dāng)前已成功認證的用戶名
綁定,且ticket使用一次即作廢。
c、應(yīng)用系統(tǒng)在收到ticket參數(shù)后驗證其真?zhèn)危乐鼓承┯脩魝卧靦icket參數(shù)非法登入。這次為了提高響應(yīng)速度,直接使用Socket(套接字)
直接建立http連接。“統(tǒng)一身份認證服務(wù)”會將收到的ticket參數(shù)值與先前創(chuàng)建的ticket參數(shù)值進行比較。
4.LDAP基本模型:
4.1數(shù)據(jù)模型
4.2命名模型
4.3功能模型
4.4安全模型