統(tǒng)一身份認(rèn)證系統(tǒng)的研究與實(shí)現(xiàn)_第1頁(yè)
統(tǒng)一身份認(rèn)證系統(tǒng)的研究與實(shí)現(xiàn)_第2頁(yè)
統(tǒng)一身份認(rèn)證系統(tǒng)的研究與實(shí)現(xiàn)_第3頁(yè)
統(tǒng)一身份認(rèn)證系統(tǒng)的研究與實(shí)現(xiàn)_第4頁(yè)
統(tǒng)一身份認(rèn)證系統(tǒng)的研究與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、統(tǒng)一身份認(rèn)證系統(tǒng)的研究與實(shí)現(xiàn)1 引言隨著因特網(wǎng)的飛速發(fā)展,基于B/ S(瀏覽器/ 服務(wù)器 結(jié)構(gòu)的企業(yè)應(yīng)用軟件也得到了快速發(fā)展,各種應(yīng)用系統(tǒng)已經(jīng)應(yīng)用到很多企業(yè)的生產(chǎn)管理活動(dòng)中去,為企業(yè)提高工作效率和管理水平做出了巨大的貢獻(xiàn)。但是,由于企業(yè)受業(yè)務(wù)、自身?xiàng)l件和當(dāng)時(shí)軟件技術(shù)的影響,這些不同的系統(tǒng)往往是在不同的時(shí)期建設(shè)起來(lái)的,運(yùn)行在不同的平臺(tái)上。各系統(tǒng)也許是由不同廠商開(kāi)發(fā)的,使用了各種不同的技術(shù)和標(biāo)準(zhǔn)。每個(gè)應(yīng)用系統(tǒng)都有自己獨(dú)立的一套身份驗(yàn)證機(jī)制,采取分散登錄、分散管理。又由于針對(duì)企業(yè)應(yīng)用各系統(tǒng)的聯(lián)系十分緊密,各用戶需要使用大多數(shù)的系統(tǒng)。如果不使用單點(diǎn)登錄(Single Sign On ,簡(jiǎn)稱(chēng)SSO ,勢(shì)

2、必造成企業(yè)的工作人員在實(shí)際工作中要頻繁地在各個(gè)系統(tǒng)登錄和注銷(xiāo),嚴(yán)重影響了生產(chǎn)效率;同時(shí),很多系統(tǒng)都要維持一個(gè)用戶身份信息是很麻煩的。因此,信息系統(tǒng)急需建立一個(gè)統(tǒng)一的身份認(rèn)證系統(tǒng),以保證用戶操作的方便和應(yīng)用系統(tǒng)的安全。所謂統(tǒng)一身份認(rèn)證,就是用戶基于最初訪問(wèn)的一次身份認(rèn)證,就能對(duì)其被授權(quán)的資源進(jìn)行無(wú)縫訪問(wèn)。單點(diǎn)登錄是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一。SSO 的定義是:在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。本系統(tǒng)是對(duì)一個(gè)企業(yè)進(jìn)行統(tǒng)一身份認(rèn)證改造,該企業(yè)的應(yīng)用系統(tǒng)均采用B2S(瀏覽器2服務(wù)器 結(jié)構(gòu)構(gòu)建。系統(tǒng)進(jìn)行統(tǒng)一身份認(rèn)證改造后,需要能夠?qū)崿F(xiàn)較為靈活的、基于SA

3、ML 協(xié)議和RBAC 協(xié)議原理的單點(diǎn)登錄模型,并且需要有靈活的訪問(wèn)控制,保證和原有系統(tǒng)的緊密結(jié)合,實(shí)現(xiàn)用戶的統(tǒng)一身份認(rèn)證。2 SAML 、RBAC簡(jiǎn)介和工作原理2. 1 SAML 簡(jiǎn)介SAML ( Security Assertion Markup Language , 簡(jiǎn)稱(chēng)SAL 標(biāo)準(zhǔn)定義了一個(gè)在線商業(yè)伙伴之間交換安全信息的框架。更準(zhǔn)確地說(shuō),SAML 定義了一個(gè)基于XML 標(biāo)準(zhǔn)的框架,用于實(shí)體之間交換安全信息。SAML 1. 1 是由OA2SIS ( The Organization for the Advancement of St ructuredInformation Standard

4、s ,簡(jiǎn)稱(chēng)OASIS 標(biāo)準(zhǔn)組織的安全服務(wù)技術(shù)委員會(huì)SSTC(Security Services Technical Committee ,簡(jiǎn)稱(chēng)SSTC 制定的。SAML 可以實(shí)現(xiàn)不同安全服務(wù)系統(tǒng)之間的互操作,SSTC 通過(guò)了很多用例( 需求 來(lái)推動(dòng)SAML 的需求。SAML 1. X 中解決的最重要問(wèn)題就是單點(diǎn)登錄問(wèn)題,用戶使用用戶名和口令登錄源站點(diǎn),然后希望無(wú)需再次驗(yàn)證即可訪問(wèn)目標(biāo)站點(diǎn)。用戶通過(guò)在認(rèn)證站點(diǎn)進(jìn)行認(rèn)證登錄,認(rèn)證站點(diǎn)和目的站點(diǎn)通過(guò)交換用戶認(rèn)證信息,從而到達(dá)認(rèn)證的目的。在這里,認(rèn)證站點(diǎn)即為一個(gè)認(rèn)證區(qū)域的中心認(rèn)證服務(wù)站,一個(gè)認(rèn)證區(qū)域一般只有一個(gè)這樣的認(rèn)證站點(diǎn),全面擔(dān)任用戶身份認(rèn)證的責(zé)任

5、。而目的站點(diǎn)就是需要認(rèn)證站點(diǎn)提供服務(wù)的應(yīng)用系統(tǒng),一個(gè)區(qū)域一般都有多個(gè)這樣的目的站點(diǎn)。由于把認(rèn)證的工作都交給了認(rèn)證中心,所以目的站點(diǎn)一般不會(huì)考慮身份驗(yàn)證的問(wèn)題。2. 2 RBAC工作原理由于該項(xiàng)目是基于SAML 1. 1 標(biāo)準(zhǔn)構(gòu)造的,所以下面介紹的主要是SAML 1. 1 協(xié)議的內(nèi)容。SAML 規(guī)范體系主要由三個(gè)部分構(gòu)成: 斷言(Assertion 、請(qǐng)求/ 響應(yīng)協(xié)議(Request and Response Protocol 、綁定和配置(Bindings/Profiles ,各個(gè)部分緊密地聯(lián)合在一起,構(gòu)成了整個(gè)SAML協(xié)議的實(shí)現(xiàn)。2. 3 RBAC的簡(jiǎn)介基于角色的訪問(wèn)控制(RBAC 的概念在

6、20 年前第一次提出,它是從傳統(tǒng)的隨意訪問(wèn)控制(Discretionary AccessCont rol ,簡(jiǎn)稱(chēng)DAC 和強(qiáng)制訪問(wèn)控制(Mandatory AccessCont rol ,簡(jiǎn)稱(chēng)MAC 發(fā)展起來(lái)的。它可以實(shí)現(xiàn)企業(yè)的權(quán)限機(jī)制到企業(yè)組織結(jié)構(gòu)的自然映射,提高了訪問(wèn)控制的水平,大大提高了安全管理員的效率。RBAC 模型由四個(gè)部件模型組成,分別是基本模型RBAC0 (Core RBAC 、角色分級(jí)模型RBAC1 ( HierarchalRBAC 、角色限制模型RBAC2 (Const raint RBAC 和統(tǒng)一模型RBAC3 (Combines RBAC。RBAC0 定義了能構(gòu)成一個(gè)RB

7、AC 控制系統(tǒng)的最小的元素集合。在RBAC 之中, 包含用戶( Users 、角色(Roles 、對(duì)象(Object s 、操作(Operations 、許可權(quán)( Per2missions 五個(gè)基本數(shù)據(jù)元素。權(quán)限被賦予角色,而不是用戶,當(dāng)一個(gè)角色被指定給一個(gè)用戶時(shí),此用戶就擁有了該角色所包含的權(quán)限。會(huì)話Sessions 是用戶與激活的角色集合之間的映射。RBAC0 與傳統(tǒng)訪問(wèn)控制的差別在于增加一層,間接性地帶來(lái)了靈活性,RBAC1 、RBAC2 、RBAC3 都是先后在RBAC0 基礎(chǔ)上的擴(kuò)展。3 統(tǒng)一身份認(rèn)證設(shè)計(jì)和實(shí)現(xiàn)3. 1 總體構(gòu)架該系統(tǒng)采用B2S 結(jié)構(gòu),整個(gè)統(tǒng)一身份認(rèn)證體系由一個(gè)認(rèn)證服

8、務(wù)器和應(yīng)用系統(tǒng)服務(wù)器(該系統(tǒng)主要用于實(shí)驗(yàn)?zāi)康?因此這里的應(yīng)用服務(wù)器只有一個(gè),在實(shí)際應(yīng)用中應(yīng)用系統(tǒng)應(yīng)該有多個(gè) 構(gòu)成。認(rèn)證服務(wù)器負(fù)責(zé)對(duì)用戶進(jìn)行身份驗(yàn)證,并把認(rèn)證結(jié)果返回給應(yīng)用服務(wù)器;應(yīng)用服務(wù)器根據(jù)認(rèn)證的結(jié)果,結(jié)合其自身的RBAC 訪問(wèn)控制系統(tǒng),對(duì)用戶訪問(wèn)系統(tǒng)進(jìn)行授權(quán)。認(rèn)證服務(wù)端由SAML 響應(yīng)器、身份驗(yàn)證服務(wù)和認(rèn)證服務(wù)數(shù)據(jù)庫(kù)構(gòu)成。SAML 響應(yīng)器用于與應(yīng)用服務(wù)端進(jìn)行SAML 協(xié)議信息,用于完成認(rèn)證服務(wù)器和應(yīng)用系統(tǒng)的身份信息處理和通信;身份驗(yàn)證服務(wù)主要用于對(duì)登錄用戶進(jìn)行驗(yàn)證;認(rèn)證服務(wù)數(shù)據(jù)庫(kù)用于保存與用戶的身份相關(guān)的信息。應(yīng)用服務(wù)端由SAML 響應(yīng)器、RBAC 訪問(wèn)控制和應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)組成。SAML

9、響應(yīng)器用于與認(rèn)證服務(wù)端進(jìn)行SAML 協(xié)議信息,用于完成認(rèn)證服務(wù)器和應(yīng)用系統(tǒng)的身份信息處理和通信; RBAC 訪問(wèn)控制組件用于根據(jù)用戶在該系統(tǒng)中的角色對(duì)用戶訪問(wèn)系統(tǒng)的權(quán)限進(jìn)行有效的控制;應(yīng)用系統(tǒng)端數(shù)據(jù)庫(kù)主要包括應(yīng)用系統(tǒng)的賬戶和對(duì)應(yīng)權(quán)限信息,當(dāng)然還應(yīng)包括用于保存應(yīng)用系統(tǒng)業(yè)務(wù)數(shù)據(jù)的信息。由于本文的關(guān)注點(diǎn)主要在認(rèn)證方面,故在本系統(tǒng)中不會(huì)表達(dá)。3. 2 數(shù)據(jù)庫(kù)設(shè)計(jì)按照模型設(shè)計(jì)的要求,統(tǒng)一認(rèn)證系統(tǒng)包括兩部分?jǐn)?shù)據(jù)庫(kù):一部分屬于認(rèn)證服務(wù)器的IdentityInformation 數(shù)據(jù)庫(kù),另一部分是應(yīng)用系統(tǒng)的ServiceInformation 數(shù)據(jù)庫(kù)(因?yàn)橹粸榱吮硎窘y(tǒng)一身份認(rèn)證,在該系統(tǒng)設(shè)計(jì)中只有訪問(wèn)控制部分

10、的設(shè)計(jì) 。首先介紹IdentityInformation 數(shù)據(jù)庫(kù)的設(shè)計(jì)。設(shè)計(jì)該數(shù)據(jù)庫(kù)的目的主要是為了表達(dá)同一用戶管理模型中的映射關(guān)系,把各應(yīng)用系統(tǒng)的賬戶和統(tǒng)一的用戶ID 聯(lián)系起來(lái)。該數(shù)據(jù)庫(kù)由Application、user 、User_Account _Application 三個(gè)表構(gòu)成,各表之間通過(guò)外鍵相關(guān)聯(lián)。根據(jù)現(xiàn)在分別對(duì)各表的設(shè)計(jì)進(jìn)行介紹:表User 的主要作用是為了表達(dá)統(tǒng)一身份認(rèn)證的統(tǒng)一用戶的目的。這里,把有應(yīng)用系統(tǒng)的各個(gè)賬號(hào)由User 表中的user_ ID 表示。這樣,用戶的身份就被統(tǒng)一起來(lái)了,用戶的驗(yàn)證主要根據(jù)這張表的user_ID 和password 判斷,它由用戶唯一標(biāo)志(u

11、ser_ID 、密碼(password 和用戶名(user_name 構(gòu)成。表User_Account_Application 的主要作用是建立用戶到各應(yīng)用系統(tǒng)中的賬號(hào),和賬號(hào)對(duì)應(yīng)訪問(wèn)的系統(tǒng)建立對(duì)應(yīng)關(guān)系。根據(jù)登錄模型設(shè)計(jì)的要求,訪問(wèn)控制由系統(tǒng)自行決定。所以,建立這樣的關(guān)聯(lián)后,用戶訪問(wèn)各系統(tǒng)就可以根據(jù)系統(tǒng)自身的訪問(wèn)控制表進(jìn)行用戶系統(tǒng)授權(quán)。它由用戶唯一標(biāo)志(user_ID 、賬號(hào)標(biāo)志(account _ ID 和應(yīng)用系統(tǒng)唯一標(biāo)志(application_ID 構(gòu)成,這三個(gè)字段聯(lián)合構(gòu)成一個(gè)主鍵,用于表示三者的唯一關(guān)系。表Application 的主要作用是描述應(yīng)用系統(tǒng)的信息,包括應(yīng)用系統(tǒng)唯一標(biāo)志(a

12、pplication_ ID 、應(yīng)用系統(tǒng)名稱(chēng)(application_name 和應(yīng)用系統(tǒng)的訪問(wèn)地址(application_url 。由于應(yīng)用系統(tǒng)都采用B2S 結(jié)構(gòu),所以可以用URL 地址表示應(yīng)用系統(tǒng)資源的位置。下面介紹應(yīng)用系統(tǒng)的數(shù)據(jù)庫(kù)ServiceInformation。設(shè)計(jì)該數(shù)據(jù)庫(kù)的目的是表達(dá)設(shè)計(jì)的訪問(wèn)控制模型,設(shè)計(jì)的表只包含完成訪問(wèn)控制的部分。該數(shù)據(jù)庫(kù)包括四個(gè)基本信息表,即User (用戶表 、Role (角色表 、Privilege (權(quán)限表 、Object (操作對(duì)象 ,它們分別定義了用戶、角色、權(quán)限、操作對(duì)象各個(gè)實(shí)體的基本信息;另外有五個(gè)關(guān)系表,即User_ ToRole (用戶

13、2角色關(guān)系表 、User_ To_SubPrivilege (用戶2附加權(quán)限關(guān)系表 、User_ To_SubPrivi1ege (用戶2限制權(quán)限關(guān)系表 、Priviliege_ To _Object (權(quán)限2操作對(duì)象關(guān)系表 。數(shù)據(jù)庫(kù)中各表的關(guān)系設(shè)計(jì)。它對(duì)應(yīng)于認(rèn)證端的賬戶概念; Role 表用于定義角色,一個(gè)角色代表享有系統(tǒng)相似權(quán)限的一部分人; Privilege表用于定義系統(tǒng)的權(quán)限;Object 表用于表達(dá)系統(tǒng)的功能實(shí)體,它和權(quán)限通過(guò)Privilege_ To _Object (權(quán)限2操作對(duì)象關(guān)系表 關(guān)聯(lián)起來(lái),用于表達(dá)訪問(wèn)控制的結(jié)果。User _ To _Role (用戶2角色關(guān)系表 主要用

14、于描述用戶到角色的對(duì)應(yīng),而Role_To_ Privilege (角色2權(quán)限關(guān)系表 用于表達(dá)角色擁有的權(quán)限。這樣,通過(guò)用戶就能夠找到用戶到權(quán)限的一個(gè)對(duì)應(yīng)。同樣,User_ To _AddPrivilege (用戶2附加權(quán)限關(guān)系表 、User_ To_SubPrivilege (用戶- 限制權(quán)限關(guān)系表 也可以分別得到一個(gè)用戶到權(quán)限的對(duì)應(yīng)。通過(guò)上述對(duì)應(yīng)關(guān)系,可以根據(jù)模型設(shè)計(jì)的要求找到一個(gè)用戶到權(quán)限的映射,從而達(dá)到訪問(wèn)控制的目的。筆者通過(guò)SQL 語(yǔ)言中各表的連接查詢(xún)可以表達(dá)出模型設(shè)計(jì)的要求。3. 3 SAML 組件介紹該系統(tǒng)中采用了ComponentSpace 公司的SAML 組件,該組件很好地實(shí)現(xiàn)

15、了SAMlL 1. 1 協(xié)議中所要求的功能。該組件按SAML 的協(xié)議層次把組件分成了Asser2tions、Protocol 、Binding、Profile 四部分(名稱(chēng)空間 。3. 4 系統(tǒng)實(shí)現(xiàn)3. 4. 1 系統(tǒng)詳細(xì)模塊結(jié)構(gòu)該系統(tǒng)基于B2S 結(jié)構(gòu)創(chuàng)建,將采用微軟的ASP. NET技術(shù)作為實(shí)現(xiàn)基礎(chǔ),數(shù)據(jù)庫(kù)則采用了微軟的SQL2000 數(shù)據(jù)庫(kù),消息的傳遞主要采用網(wǎng)頁(yè)傳值的方式實(shí)現(xiàn)。根據(jù)模型設(shè)計(jì)的要求,系統(tǒng)由認(rèn)證服務(wù)器端( Identity Provider 網(wǎng)站和應(yīng)用服務(wù)器端( Service Provider 網(wǎng)站構(gòu)成。每個(gè)頁(yè)面(aspx 文件 實(shí)現(xiàn)模塊中的部分功能,通過(guò)各個(gè)頁(yè)面之間的身份

16、信息的傳遞,最終達(dá)到實(shí)現(xiàn)模型設(shè)計(jì)的需求。為滿足統(tǒng)一身份認(rèn)證的要求,現(xiàn)針對(duì)各個(gè)頁(yè)面的功能作一個(gè)簡(jiǎn)要的功能介紹:(1 認(rèn)證端( Identity Provider 網(wǎng)頁(yè)。認(rèn)證端網(wǎng)站中包含頁(yè)面和其對(duì)應(yīng)的功能描述:CheckImage. aspx (驗(yàn)證碼頁(yè)面 主要用于隨機(jī)生成圖片碼,用戶每次登錄必須輸入不同的圖片驗(yàn)證碼,防止攻擊者采用自動(dòng)攻擊工具不斷地嘗試用戶名和密碼,增加了系統(tǒng)的安全性。增加攻擊者嘗試猜測(cè)密碼的難度,也是目前網(wǎng)站比較常用的安全方式之一。Login. aspx (登錄頁(yè)面 主要是通過(guò)訪問(wèn)認(rèn)證中心數(shù)據(jù)庫(kù)中的用戶名和密碼信息來(lái)判斷用戶的身份是否合法。如果認(rèn)證成功, 則轉(zhuǎn)到Applicat

17、ionInfo. aspx ( 應(yīng)用系統(tǒng)信息頁(yè)面 。ApplicationInfo. aspx (應(yīng)用系統(tǒng)信息頁(yè)面 主要根據(jù)已經(jīng)通過(guò)驗(yàn)證的登錄用戶,依據(jù)數(shù)據(jù)庫(kù)中該用戶對(duì)應(yīng)的可訪問(wèn)的應(yīng)用系統(tǒng)信息,在頁(yè)面上顯示,供用戶選擇登錄。用戶選擇登錄后,將生成用戶認(rèn)證斷言和票據(jù)并保存在應(yīng)用中,然后把票據(jù)傳遞給應(yīng)用服務(wù)器的Artifact receiver. aspx(票據(jù)接受處理頁(yè)面 ,由應(yīng)用系統(tǒng)端作進(jìn)一步處理。Saml2responder. aspx (斷言查詢(xún) 的功能主要是根據(jù)應(yīng)用系統(tǒng)端傳遞過(guò)來(lái)的請(qǐng)求信息找到對(duì)應(yīng)該請(qǐng)求的斷言,并根據(jù)該斷言把斷言結(jié)果返回給應(yīng)用系統(tǒng)端,應(yīng)用系統(tǒng)端作進(jìn)一步處理; Identi

18、tyInformation (認(rèn)證端數(shù)據(jù)庫(kù) 的主要功能是保存用戶的身份驗(yàn)證數(shù)據(jù)和應(yīng)用系統(tǒng)信息的相關(guān)信息。(2 應(yīng)用系統(tǒng)端( Service Provider 。應(yīng)用系統(tǒng)端網(wǎng)站中包含的頁(yè)面和其對(duì)應(yīng)的功能:Artifact receiver. aspx (票據(jù)接收頁(yè)面 根據(jù)認(rèn)證服務(wù)器端的票據(jù)構(gòu)造SAML 請(qǐng)求對(duì)象,并把查詢(xún)斷言傳遞到認(rèn)證服務(wù)器;認(rèn)證服務(wù)器根據(jù)其保存的斷言信息返回查詢(xún)結(jié)果( SAML 返回對(duì)象 給該頁(yè)面,應(yīng)用系統(tǒng)端根據(jù)該結(jié)果決定是否給用戶訪問(wèn)。Defalut . as2px (系統(tǒng)默認(rèn)頁(yè)面 是該頁(yè)面為應(yīng)用系統(tǒng)的總控制臺(tái),在這里可以訪問(wèn)應(yīng)用系統(tǒng)的具體功能。如果用戶認(rèn)證成功,則表示用戶有

19、權(quán)進(jìn)入該應(yīng)用系統(tǒng),該頁(yè)面將根據(jù)對(duì)用戶的訪問(wèn)控制權(quán)利,對(duì)用戶訪問(wèn)系統(tǒng)的功能作限定。IdentityIn2formation (應(yīng)用系統(tǒng)端數(shù)據(jù)庫(kù) 主要功能是保存原有系統(tǒng)的用戶身份(賬戶 信息和對(duì)應(yīng)訪問(wèn)控制信息。3. 4. 2 統(tǒng)一驗(yàn)證流程該系統(tǒng)通過(guò)SAML 協(xié)議的Browser/ Artifact 方式進(jìn)行實(shí)現(xiàn)。登錄流程大體為:用戶在驗(yàn)證服務(wù)器端驗(yàn)證通過(guò)后,生成斷言和票據(jù)(Artifact ,把斷言和Artifact 綁定在一起保存到認(rèn)證服務(wù)器端的全局變量(在該系統(tǒng)的實(shí)現(xiàn)中為ASP. NET 的Application 全局變量 。認(rèn)證服務(wù)器把票據(jù)傳遞給應(yīng)用服務(wù)器,應(yīng)用服務(wù)器根據(jù)票據(jù)(Artifac

20、t 查詢(xún)認(rèn)證服務(wù)器所對(duì)應(yīng)的斷言,并把查詢(xún)結(jié)果(認(rèn)證結(jié)果 返回給認(rèn)證服務(wù)器。認(rèn)證服務(wù)器判斷結(jié)果的有效性和真?zhèn)涡?如果真實(shí)有效,則對(duì)用戶訪問(wèn)系統(tǒng)授權(quán)。根據(jù)登錄流程的時(shí)間序列圖,對(duì)各部分的功能和實(shí)現(xiàn)給出一個(gè)詳細(xì)的描述:(1 用戶輸入用戶名、密碼、驗(yàn)證碼到認(rèn)證服務(wù)器進(jìn)行驗(yàn)證,本系統(tǒng)采用傳統(tǒng)的用戶名和密碼方式進(jìn)行驗(yàn)證。首先,系統(tǒng)驗(yàn)證圖片碼,如果成功,對(duì)輸入的密碼加密(由于數(shù)據(jù)庫(kù)保存的密碼是一個(gè)MD5 的Hash 值,所以需要對(duì)用戶輸入密碼進(jìn)行MD5 加密 ;然后,再和數(shù)據(jù)庫(kù)中的記錄進(jìn)行比對(duì):如果用戶驗(yàn)證成功,系統(tǒng)把通過(guò)驗(yàn)證的用戶ID 寫(xiě)入Session (會(huì)話 ,頁(yè)面將跳轉(zhuǎn)到ApplicationInf

21、o 頁(yè)面作進(jìn)一步處理。(2 在ApplicationInfo 頁(yè)面,系統(tǒng)將根據(jù)系統(tǒng)中用戶ID 的Session 值對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún),找出關(guān)聯(lián)到該用戶ID的用戶相關(guān)系統(tǒng)信息,并展示到頁(yè)面上供用戶選擇。(3 當(dāng)用戶選擇了需要進(jìn)入的應(yīng)用系統(tǒng)并確認(rèn)進(jìn)入后,系統(tǒng)將根據(jù)用戶ID 對(duì)應(yīng)于該應(yīng)用系統(tǒng)的用戶帳戶產(chǎn)生斷言和票據(jù),并把它保存在全局的Application 變量中。(4 生成斷言后,系統(tǒng)將把票據(jù)(Aritfact 以URL 傳值的方式傳到ArtifactReceiver 頁(yè)面。(58 由于第( 5 步到第( 8 步聯(lián)系比較緊密, 是SAML 的主要身份信息交換機(jī)制,所以在這里把它們放在一起進(jìn)行說(shuō)明。首

22、先,ArtifactReceiver 頁(yè)面在裝載時(shí),根據(jù)傳回來(lái)的票據(jù)值創(chuàng)建SAML 的Request 對(duì)象,并通過(guò)它向應(yīng)用服務(wù)器頁(yè)面(在這里是SamlResponder 頁(yè)面 查詢(xún)斷言;amlresoponder 頁(yè)面負(fù)責(zé)處理SAML 請(qǐng)求,并根據(jù)票據(jù)( Artifact 查找Application 中相應(yīng)的斷言, 并構(gòu)造SAML 的Response 對(duì)象,通過(guò)認(rèn)證服務(wù)器的私鑰進(jìn)行加密,并返回; ArtifactReceiver 頁(yè)面處理SAML 的Response對(duì)象,并根據(jù)斷言的結(jié)果,其中斷言中包含了統(tǒng)一認(rèn)證用戶的ID 對(duì)應(yīng)到應(yīng)用系統(tǒng)的賬號(hào),給用戶訪問(wèn)系統(tǒng)授權(quán)(這里采用了ASP. NET 的窗口認(rèn)證方式,該方式可以保留用戶的登錄信息到Cookie 中 ;根據(jù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論