国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
單點(diǎn)登錄原理
采用CAS原理構(gòu)建單點(diǎn)登錄

企業(yè)的信息化過(guò)程是一個(gè)循序漸進(jìn)的過(guò)程,在企業(yè)各個(gè)業(yè)務(wù)網(wǎng)站逐步建設(shè)的過(guò)程中,根據(jù)各種業(yè)務(wù)信息水平的需要構(gòu)建了相應(yīng)的應(yīng)用系統(tǒng),由于這些應(yīng)用系統(tǒng)一般是在不同的時(shí)期開發(fā)完成的,各應(yīng)用系統(tǒng)由于功能側(cè)重、設(shè)計(jì)方法和開發(fā)技術(shù)都有所不同,也就形成了各自獨(dú)立的用戶庫(kù)和用戶認(rèn)證體系。隨著新的業(yè)務(wù)網(wǎng)站不斷的增加,用戶在每個(gè)應(yīng)用系統(tǒng)中都有獨(dú)立的賬號(hào),這樣就造成在訪問(wèn)不同的應(yīng)用系統(tǒng)時(shí),需要記錄對(duì)應(yīng)的用戶名和密碼,多個(gè)用戶名密碼極易記混,如果忘記或記錯(cuò)了某一個(gè)業(yè)務(wù)網(wǎng)站的用戶名或密碼就無(wú)法進(jìn)行登錄,耽誤工作,影響工作效率,隨著局內(nèi)信息化進(jìn)程的推進(jìn)還會(huì)有新的應(yīng)用系統(tǒng)產(chǎn)生,如果不引入單一用戶登錄的解決方案,全公司工作人名特別是承擔(dān)審批權(quán)限的各級(jí)領(lǐng)導(dǎo)很難記清各類應(yīng)用系統(tǒng)的用戶名和密碼,嚴(yán)重影響由信息化帶來(lái)快捷性和高效性。此外,多個(gè)應(yīng)用平臺(tái)就有多個(gè)用戶管理,這也為系統(tǒng)管理員維護(hù)人員系統(tǒng)帶來(lái)巨大的工作量,例如,一次變更10個(gè)人員,即使只有5個(gè)應(yīng)用系統(tǒng),也需要重復(fù)維護(hù)50個(gè)人員信息,而企業(yè)的每次人員調(diào)整遠(yuǎn)不至10人,這種幾何增長(zhǎng)的維護(hù)工作量,會(huì)浪費(fèi)大量的精力和時(shí)間,減弱了信息化系統(tǒng)帶來(lái)方便快捷,為此,需建立一套統(tǒng)一的、完善的、科學(xué)的單點(diǎn)登錄系統(tǒng),每個(gè)用戶只需記錄一個(gè)用戶名密碼,登錄一個(gè)平臺(tái)后即可實(shí)現(xiàn)各應(yīng)用系統(tǒng)的透明跳轉(zhuǎn),而且實(shí)行統(tǒng)一的用戶信息管理系統(tǒng),系統(tǒng)管理員只需維護(hù)一套人員信息,更改信息通過(guò)平臺(tái)接口同步更新至各個(gè)應(yīng)用系統(tǒng),實(shí)現(xiàn)人員系統(tǒng)單次維護(hù)全公司同步變更,大大提高工作效率。

新的應(yīng)用系統(tǒng)在不斷開發(fā),早一天規(guī)劃設(shè)計(jì)出單點(diǎn)登錄的規(guī)范接口,就可以為新開發(fā)的系統(tǒng)提出的一種整合的標(biāo)準(zhǔn),在開發(fā)初期無(wú)論哪個(gè)開發(fā)商,無(wú)論采用哪種技術(shù)開發(fā),只要遵循單點(diǎn)登錄的規(guī)范標(biāo)準(zhǔn),新的系統(tǒng)開發(fā)完成之后即可無(wú)縫整合的到單點(diǎn)登錄平臺(tái)中,從而減少了系統(tǒng)開發(fā)完成后再整合到單點(diǎn)登錄改動(dòng)而造成資源的浪費(fèi)。

從信息共享角度看現(xiàn)有的各個(gè)業(yè)務(wù)系統(tǒng)都使用各自的數(shù)據(jù)存儲(chǔ)方式,不經(jīng)過(guò)基礎(chǔ)的用戶名和密碼認(rèn)證后,相互之間無(wú)法傳遞有效信息。為避免信息孤島的產(chǎn)生,因此需要建立一個(gè)連接各個(gè)業(yè)務(wù)系統(tǒng)的技術(shù)架構(gòu)和標(biāo)準(zhǔn),實(shí)現(xiàn)平臺(tái)統(tǒng)一化整合;通過(guò)對(duì)業(yè)務(wù)處理和異常處理實(shí)現(xiàn)監(jiān)管透明;通過(guò)將業(yè)務(wù)流程從應(yīng)用中抽離,實(shí)現(xiàn)業(yè)務(wù)流程的靈活安排,這樣就需要一套可以整合現(xiàn)有各個(gè)業(yè)務(wù)網(wǎng)站的信息共享平臺(tái)。

單點(diǎn)登錄的英文名稱為Single Sign-On,簡(jiǎn)寫為SSO,它是一個(gè)用戶認(rèn)證的過(guò)程,允許用戶一次性進(jìn)行認(rèn)證之后,就訪問(wèn)系統(tǒng)中不同的應(yīng)用;而不需要訪問(wèn)每個(gè)應(yīng)用時(shí),都重新輸入密碼。IBM對(duì)SSO有一個(gè)形象的解釋“單點(diǎn)登錄、全網(wǎng)漫游”。

SSO將一個(gè)企業(yè)內(nèi)部所有域中的用戶登錄和用戶賬號(hào)管理集中到一起,SSO的好處顯而易見:

  • 減少用戶在不同系統(tǒng)中登錄耗費(fèi)的時(shí)間,減少用戶登錄出錯(cuò)的可能性
  • 實(shí)現(xiàn)安全的同時(shí)避免了處理和保存多套系統(tǒng)用戶的認(rèn)證信息
  • 減少了系統(tǒng)管理員增加、刪除用戶和修改用戶權(quán)限的時(shí)間
  • 增加了安全性:系統(tǒng)管理員有了更好的方法管理用戶,包括可以通過(guò)直接禁止和刪除用戶來(lái)取消該用戶對(duì)所有系統(tǒng)資源的訪問(wèn)權(quán)限

對(duì)于內(nèi)部有多種應(yīng)用系統(tǒng)的企業(yè)來(lái)說(shuō),單點(diǎn)登錄的效果是十分明顯的。很多國(guó)際上的企業(yè)已經(jīng)將單點(diǎn)登錄作為系統(tǒng)設(shè)計(jì)的基本功能之一。

公司第一個(gè)版本的單點(diǎn)登陸系統(tǒng)從2005年運(yùn)行以來(lái),從幾十個(gè)應(yīng)用系統(tǒng)擴(kuò)展到現(xiàn)在的幾百個(gè)系統(tǒng)。在應(yīng)用的過(guò)程中沒(méi)有很好的解決跨域名的問(wèn)題,單點(diǎn)登陸客戶端代碼使用問(wèn)題,應(yīng)用系統(tǒng)的訪問(wèn)規(guī)則問(wèn)題等都沒(méi)有很好的解決。

SSO的實(shí)現(xiàn)機(jī)制不盡相同,大體分為Cookie機(jī)制和Session機(jī)制兩大類。

  • WebLogic通過(guò)Session共享認(rèn)證信息。Session是一種服務(wù)器端機(jī)制,當(dāng)客戶端訪問(wèn)服務(wù)器時(shí),服務(wù)器為客戶端創(chuàng)建一個(gè)惟一的SessionID,以使在整個(gè)交互過(guò)程中始終保持狀態(tài),而交互的信息則可由應(yīng)用自行指定,因此用Session方式實(shí)現(xiàn)SSO,不能在多個(gè)瀏覽器之間實(shí)現(xiàn)單點(diǎn)登錄,但卻可以跨域。
  • WebSphere通過(guò)Cookie記錄認(rèn)證信息。Cookie是一種客戶端機(jī)制,它存儲(chǔ)的內(nèi)容主要包括: 名字、值、過(guò)期時(shí)間、路徑和域,路徑與域合在一起就構(gòu)成了Cookie的作用范圍,因此用Cookie方式可實(shí)現(xiàn)SSO,但域名必須相同。

目前大部分SSO產(chǎn)品采用的是Cookie機(jī)制,公司第一個(gè)版本的單點(diǎn)登陸系統(tǒng)也是如此,目前能夠找到的最好的開源單點(diǎn)登錄產(chǎn)品CAS也是采用Cookie機(jī)制。 CAS http://www.ja-sig.org/products/cas/,CAS單點(diǎn)登錄系統(tǒng)最早由耶魯大學(xué)開發(fā)。2004年12月,CAS成為JA-SIG中的一個(gè)項(xiàng)目。JA-SIG的全稱是Java Architectures Special Interest Group,是在高校中推廣和探討基于Java的開源技術(shù)的一個(gè)組織。CAS的優(yōu)點(diǎn)很多,例如設(shè)計(jì)理念先進(jìn)、體系結(jié)構(gòu)合理、配置簡(jiǎn)單、客戶端支持廣泛、技術(shù)成熟等等。這也是我們這次SSO改造的參照產(chǎn)品。

以CAS為例,使用Cookie實(shí)現(xiàn)單點(diǎn)登錄的原理圖如圖1所示。

  • 首先,單點(diǎn)登錄分為“服務(wù)端”和“客戶端”。服務(wù)端就是單點(diǎn)登錄服務(wù)器,而客戶端通常是“函數(shù)庫(kù)”或者“插件”。需要使用單點(diǎn)登錄的應(yīng)用程序,需要把客戶端插件安裝到自己的系統(tǒng)中,或者將客戶端函數(shù)庫(kù)包括在代碼中。單點(diǎn)登錄的客戶端通常替換了原來(lái)應(yīng)用程序的認(rèn)證部分的代碼。
  • 某個(gè)應(yīng)用程序首先要發(fā)起第1次認(rèn)證。大部分情況下,應(yīng)用程序中嵌入的客戶端會(huì)把應(yīng)用程序原來(lái)的登錄畫面屏蔽掉,而直接轉(zhuǎn)到單點(diǎn)登錄服務(wù)器的登錄頁(yè)面。

圖 1 使用Cookie實(shí)現(xiàn)單點(diǎn)登錄的原理圖

  • 用戶在單點(diǎn)登錄服務(wù)器的登錄頁(yè)面中,輸入用戶名和密碼。
  • 然后單點(diǎn)登錄服務(wù)器會(huì)對(duì)用戶名和密碼進(jìn)行認(rèn)證。認(rèn)證本身并不是單點(diǎn)登錄服務(wù)器的功能,因此,通常會(huì)引入某種認(rèn)證機(jī)制。認(rèn)證機(jī)制可以有很多種,例如自己寫一個(gè)認(rèn)證程序,或者使用一些標(biāo)準(zhǔn)的認(rèn)證方法,例如LDAP或者數(shù)據(jù)庫(kù)等等。在大多數(shù)情況下,會(huì)使用LDAP進(jìn)行認(rèn)證。這是因?yàn)長(zhǎng)DAP在處理用戶登錄方面,有很多獨(dú)特的優(yōu)勢(shì),這在本文的后面還會(huì)比較詳細(xì)地進(jìn)行介紹。
  • 認(rèn)證通過(guò)之后,單點(diǎn)登錄服務(wù)器會(huì)和應(yīng)用程序進(jìn)行一個(gè)比較復(fù)雜的交互,這通常是某種授權(quán)機(jī)制。CAS使用的是所謂的Ticket。具體這點(diǎn)后面還會(huì)介紹。
  • 授權(quán)完成后,CAS把頁(yè)面重定向,回到Web應(yīng)用。Web應(yīng)用此時(shí)就完成了成功的登錄(當(dāng)然這也是單點(diǎn)登錄的客戶端,根據(jù)返回的Ticket信息進(jìn)行判斷成功的)。
  • 然后單點(diǎn)登錄服務(wù)器會(huì)在客戶端創(chuàng)建一個(gè)Cookie。注意,是在用戶的客戶端,而不是服務(wù)端創(chuàng)建一個(gè)Cookie。這個(gè)Cookie是一個(gè)加密的Cookie,其中保存了用戶登錄的信息。
  • 如果用戶此時(shí)希望進(jìn)入其他Web應(yīng)用程序,則安裝在這些應(yīng)用程序中的單點(diǎn)登錄客戶端,首先仍然會(huì)重定向到CAS服務(wù)器。不過(guò)此時(shí)CAS服務(wù)器不再要求用戶輸入用戶名和密碼,而是首先自動(dòng)尋找Cookie,根據(jù)Cookie中保存的信息,進(jìn)行登錄。登錄之后,CAS重定向回到用戶的應(yīng)用程序。

這樣,就不再需要用戶繼續(xù)輸入用戶名和密碼,從而實(shí)現(xiàn)了單點(diǎn)登錄。

注意,這種單點(diǎn)登錄體系中,并沒(méi)有通過(guò)http進(jìn)行密碼的傳遞(但是有用戶名的傳遞),因此是十分安全的。

CAS被設(shè)計(jì)為一個(gè)獨(dú)立的Web應(yīng)用,目前是通過(guò)若干個(gè)Java servlets來(lái)實(shí)現(xiàn)的。CAS必須運(yùn)行在支持SSL的web服務(wù)器至上。應(yīng)用程序可以通過(guò)三個(gè)URL路徑來(lái)使用CAS,分別是登錄URL(login URL),校驗(yàn)URL(validation URL)和登出URL(logout URL)。

  • 應(yīng)用程序一開始,通常跳過(guò)原來(lái)的登陸界面,而直接轉(zhuǎn)向CAS自帶的登錄界面。當(dāng)然也可以在應(yīng)用程序的主界面上增加一個(gè)登錄之類的按鈕,來(lái)完成跳轉(zhuǎn)工作。
  • 如果用戶喜歡的話,也可以手工直接進(jìn)入CAS的登錄界面,先進(jìn)行登錄,在啟動(dòng)其他的應(yīng)用程序。不過(guò)這種模式主要用于測(cè)試環(huán)境。
  • CAS的登錄界面處理所謂的“主體認(rèn)證”。它要求用戶輸入用戶名和密碼,就像普通的登錄界面一樣。
  • 主體認(rèn)證時(shí),CAS獲取用戶名和密碼,然后通過(guò)某種認(rèn)證機(jī)制進(jìn)行認(rèn)證。通常認(rèn)證機(jī)制是LDAP。
  • 為了進(jìn)行以后的單點(diǎn)登錄,CAS向?yàn)g覽器送回一個(gè)所謂的“內(nèi)存cookie”。這種cookie并不是真的保存在內(nèi)存中,而只是瀏覽器一關(guān)閉,cookie就自動(dòng)過(guò)期。這個(gè)cookie稱為“ticket-granting cookie”,用來(lái)表明用戶已經(jīng)成功地登錄。
  • 認(rèn)證成功后,CAS服務(wù)器創(chuàng)建一個(gè)很長(zhǎng)的、隨機(jī)生成的字符串,稱為“Ticket”。隨后,CAS將這個(gè)ticket和成功登錄的用戶,以及服務(wù)聯(lián)系在一起。這個(gè)ticket是一次性使用的一種憑證,它只對(duì)登錄成功的用戶及其服務(wù)使用一次。使用過(guò)以后立刻失效。
  • 主體認(rèn)證完成后,CAS將用戶的瀏覽器重定向,回到原來(lái)的應(yīng)用。CAS客戶端,在從應(yīng)用轉(zhuǎn)向CAS的時(shí)候,同時(shí)也會(huì)記錄原始的URL,因此CAS知道誰(shuí)在調(diào)用自己。CAS重定向的時(shí)候,將ticket作為一個(gè)參數(shù)傳遞回去。
  • 例如原始應(yīng)用的網(wǎng)址是http://www.itil.com/,在這個(gè)網(wǎng)址上,一開始有如下語(yǔ)句,轉(zhuǎn)向CAS服務(wù)器的單點(diǎn)登錄頁(yè)面https://secure.oa.com/cas/login?service=http://www.itil.com/auth.aspx。
  • CAS完成主體認(rèn)證后,會(huì)使用下面URL進(jìn)行重定向http://www.itil.com/authenticate.aspx?ticket= ST-2-7FahVdQ0rYdQxHFBIkKgfYCrcoSHRTsFZ2w-20。
  • 收到ticket之后,應(yīng)用程序需要驗(yàn)證ticket。這是通過(guò)將ticket 傳遞給一個(gè)校驗(yàn)URL來(lái)實(shí)現(xiàn)的。校驗(yàn)URL也是CAS服務(wù)器提供的。
  • CAS通過(guò)校驗(yàn)路徑獲得了ticket之后,通過(guò)內(nèi)部的數(shù)據(jù)庫(kù)對(duì)其進(jìn)行判斷。如果判斷是有效性,則返回一個(gè)NetID給應(yīng)用程序。
  • 隨后CAS將ticket作廢,并且在客戶端留下一個(gè)cookie。
  • 以后其他應(yīng)用程序就使用這個(gè)cookie進(jìn)行認(rèn)證(當(dāng)然通過(guò)CAS的客戶端),而不再需要輸入用戶名和密碼。

采用.NET 來(lái)實(shí)現(xiàn)CAS原理的SSO系統(tǒng),在第一個(gè)版本的SSO系統(tǒng)基礎(chǔ)上羅列一些問(wèn)題,有的已經(jīng)是第一個(gè)版本的SSO系統(tǒng)中采用的方式。有些問(wèn)題需要澄清的,

很多人談?wù)搯吸c(diǎn)登錄時(shí),常常和統(tǒng)一用戶,以及單一用戶管理混淆了,要么誤認(rèn)為單點(diǎn)登錄自然實(shí)現(xiàn)了單一用戶管理;要么誤認(rèn)為統(tǒng)一用戶或者單一用戶管理就是單點(diǎn)登錄。實(shí)際上,這三個(gè)概念是有明確的區(qū)別的。

統(tǒng)一用戶就是指不同的系統(tǒng),使用同一套用戶處理的機(jī)制。

  • 用戶ID全局惟一,用戶登錄名,密碼全局唯一,并且統(tǒng)一存儲(chǔ)在單一系統(tǒng)中。
  • 用戶的一些屬性,如姓名、電話、地址、郵件等,統(tǒng)一存儲(chǔ)在單一系統(tǒng)中。盡管各應(yīng)用系統(tǒng)還可以自行增加一些屬性,但是基本的屬性應(yīng)該統(tǒng)一存儲(chǔ)和管理。
  • 應(yīng)用系統(tǒng)不應(yīng)該直接對(duì)用戶信息的進(jìn)行增加、修改和刪除,但是可以進(jìn)行查詢。對(duì)用戶信息的增加、修改和刪除,應(yīng)該由專門的系統(tǒng)進(jìn)行統(tǒng)一的管理。

很顯然,統(tǒng)一用戶是單點(diǎn)登錄的基礎(chǔ),但是統(tǒng)一用戶并不意味著實(shí)現(xiàn)了單點(diǎn)登錄。

單一用戶管理則指所有的用戶管理工作都在唯一的地方進(jìn)行處理,而每個(gè)應(yīng)用程序不再保留自己的用戶管理功能。單一用戶管理和統(tǒng)一用戶管理的最大區(qū)別在于,統(tǒng)一用戶管理之后,每個(gè)應(yīng)用程序仍然保留自己的用戶管理功能,用于額外的屬性設(shè)置;而單一用戶管理時(shí),每個(gè)應(yīng)用程序不再保留自己的用戶管理功能。

在企業(yè)應(yīng)用場(chǎng)景下,所有的用戶信息來(lái)自HR系統(tǒng),HR系統(tǒng)中包含的戶信息和部門信息,同時(shí)這些信息會(huì)存在于公司的活動(dòng)目錄中。公司采用的是LDAP和數(shù)據(jù)庫(kù)連接方式相結(jié)合,正式員工登陸OA系統(tǒng)并不采用LDAP方式認(rèn)證,采用的RSA的token方式認(rèn)證,也就是數(shù)據(jù)庫(kù)方式認(rèn)證。對(duì)于忘記帶token卡和客戶服務(wù)部的外聘人員沒(méi)有token卡的,通過(guò)白名單方式允許他們通過(guò)LDAP方式認(rèn)證。第一個(gè)版本的單點(diǎn)登陸系統(tǒng)使用的HTTP,新版本的集成子系統(tǒng)使用https方式通訊。

術(shù)語(yǔ)解釋:

  • HTTPS(全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容請(qǐng)看SSL。它是一個(gè)URI scheme(抽象標(biāo)識(shí)符體系),句法類同http:體系。用于安全的HTTP數(shù)據(jù)傳輸。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默認(rèn)端口及一個(gè)加密/身份驗(yàn)證層(在HTTP與TCP之間)。這個(gè)系統(tǒng)的最初研發(fā)由網(wǎng)景公司進(jìn)行,提供了身份驗(yàn)證與加密通訊方法,現(xiàn)在它被廣泛用于萬(wàn)維網(wǎng)上安全敏感的通訊。
  • LDAP(全稱是Lightweight Directory Access Protocol),一般都簡(jiǎn)稱為L(zhǎng)DAP。它是基于X.500標(biāo)準(zhǔn)的,但是簡(jiǎn)單多了并且可以根據(jù)需要定制。與X.500不同,LDAP支持TCP/IP,這對(duì)訪問(wèn)Internet是必須的。LDAP的核心規(guī)范在RFC中都有定義,所有與LDAP相關(guān)的RFC都可以在LDAPman RFC網(wǎng)頁(yè)中找到。
  • 簡(jiǎn)單說(shuō)來(lái),LDAP是一個(gè)得到關(guān)于人或者資源的集中、靜態(tài)數(shù)據(jù)的快速方式。LDAP協(xié)議是跨平臺(tái)的和標(biāo)準(zhǔn)的協(xié)議,因此應(yīng)用程序就不用為L(zhǎng)DAP目錄放在什么樣的服務(wù)器上操心了。實(shí)際上,LDAP得到了業(yè)界的廣泛認(rèn)可,因?yàn)樗荌nternet的標(biāo)準(zhǔn)。產(chǎn)商都很愿意在產(chǎn)品中加入對(duì)LDAP的支持,因?yàn)樗麄兏静挥每紤]另一端(客戶端或服務(wù)端)是怎么樣的。LDAP服務(wù)器可以是任何一個(gè)開發(fā)源代碼或商用的LDAP目錄服務(wù)器(或者還可能是具有LDAP界面的關(guān)系型數(shù)據(jù)庫(kù)),因?yàn)榭梢杂猛瑯拥膮f(xié)議、客戶端連接軟件包和查詢命令與LDAP服務(wù)器進(jìn)行交互

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
IBMPortal與單點(diǎn)登錄、集成企業(yè)級(jí)應(yīng)用
單點(diǎn)登錄簡(jiǎn)介
CAS單點(diǎn)登錄簡(jiǎn)單說(shuō)明
單點(diǎn)登錄
Q & A: WebSphere Application Server 常見安全性問(wèn)題 -...
【新視角】帶你一窺網(wǎng)管員日常聊天實(shí)錄:信息編碼之“你說(shuō)我說(shuō)”
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服