九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
單點登錄CAS技術(shù)概述

1 簡介

單點登錄(Single Sign On ,簡稱SSO)是目前比較流行的服務(wù)于企業(yè)業(yè)務(wù)整合的解決方案之一,SSO 使得在多個應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)

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

Session是一種服務(wù)器端機(jī)制,當(dāng)客戶端訪問服務(wù)器時,服務(wù)器為客戶端創(chuàng)建一個惟一的SessionID,以使在整個交互過程中始終保持狀態(tài),而交互的信息則可由應(yīng)用自行指定,因此用Session方式實現(xiàn)SSO,不能在多個瀏覽器之間實現(xiàn)單點登錄,但卻可以跨域。

Cookie是一種客戶端機(jī)制,它存儲的內(nèi)容主要包括、值、過期時間、路徑和域,路徑與域合在一起就構(gòu)成了Cookie的作用范圍,因此用Cookie方式可實現(xiàn)SSO,但域名必須相同。

目前大部分SSO產(chǎn)品采用的是Cookie機(jī)制,最好的開源單點登錄產(chǎn)品CAS也是采用Cookie機(jī)制。

CASCentral Authentication Service)是 Yale大學(xué)發(fā)起的一個企業(yè)級的、開源的項目,旨在為 Web 應(yīng)用系統(tǒng)提供一種可靠的單點登錄解決方法。CAS開始于2001年,并在200412月正式成為JA-SIG的一個項目。

2 CAS的特性

1) 開源的、多協(xié)議的SSO解決方案,CAS ServerCAS Client通信支持多協(xié)議,如:CAS、OauthOpenID、SAML1.1SAML2.0D等。

2) 支持多種認(rèn)證機(jī)制Active Directory、JAAS、JDBCLDAP、X.509 Certificates

3) 安全策略:使用票據(jù)(Ticket)來實現(xiàn)支持的認(rèn)證協(xié)議;

4) 支持多種客戶端:Java.Net、PHP、Perl、Apache、 uPortal等。

5) 支持授權(quán):可以決定哪些服務(wù)可以請求和驗證服務(wù)票據(jù)(Service Ticket。

6)  提供高可用性:通過把認(rèn)證過的狀態(tài)數(shù)據(jù)存儲在TicketRegistry組件中,這些組件有很多支持分布式環(huán)境的實現(xiàn)

3 CAS原理

3.1 體系結(jié)構(gòu)

CAS包含CAS ServerCAS Client兩個部分。

CAS Server負(fù)責(zé)完成對用戶的認(rèn)證工作,需要獨立部署,CAS Server 會處理用戶名/ 密碼等憑證(Credentials)。

CAS Client負(fù)責(zé)處理對客戶端受保護(hù)資源的訪問請求,需要對請求方進(jìn)行身份認(rèn)證時,重定向到CAS Server進(jìn)行認(rèn)證。原則上,客戶端應(yīng)用不再接受任何的用戶名密碼等。CAS Client與受保護(hù)的客戶端應(yīng)用部署在一起,以Filter方式保護(hù)受保護(hù)的資源。

1 CAS框架圖

3.2 CAS 協(xié)議

3.2.1 基礎(chǔ)協(xié)議

CAS 基礎(chǔ)協(xié)議執(zhí)行步驟如下:

1) 訪問服務(wù):用戶發(fā)送請求訪問應(yīng)用系統(tǒng)(可稱為CAS客戶端提供的受保護(hù)的服務(wù)資源。

2) 定向認(rèn)證:CAS客戶端分析HTTP請求中沒有Service Ticket(即ST)或SessionID,說明用戶還沒有進(jìn)行身份認(rèn)證。于是,重定向用戶請求到CAS服務(wù)器進(jìn)行身份認(rèn)證,并把用戶此次訪問CAS客戶端的URL作為參數(shù)(service)傳遞給CAS服務(wù)器。

3) 用戶認(rèn)證:CAS服務(wù)器接收到身份認(rèn)證請求后轉(zhuǎn)向登錄頁面,用戶提供認(rèn)證信息后進(jìn)行身份認(rèn)證。身份認(rèn)證成功后,CAS服務(wù)器以SSL方式給瀏覽器返回一個TGC(用戶身份信息憑證,用于以后獲取ST)。

4) 發(fā)放票據(jù):CAS服務(wù)器會產(chǎn)生一個隨機(jī)的ST,然后重定向到CAS客戶端

5) 驗證票據(jù):CAS客戶端收到ST后,向CAS服務(wù)器驗證票據(jù)ST的合法性,驗證通過后,允許用戶訪問客戶端服務(wù)。

6) 傳輸用戶信息:CAS服務(wù)器驗證票據(jù)ST通過后,傳輸用戶認(rèn)證結(jié)果信息給客戶端。

2  CAS基礎(chǔ)協(xié)議流程圖

3.2.2 代理協(xié)議

CAS基礎(chǔ)模式已經(jīng)能夠滿足大部分簡單的 SSO 應(yīng)用。現(xiàn)在,我們探討一種更復(fù)雜的情況,即用戶訪問 helloservice, helloservice又依賴于helloservice2 來獲取一些信息,如同:

User -----> helloservice -----> helloservice2。

這種情況下,假設(shè) helloservice2 也是需要對 User 進(jìn)行身份驗證才能訪問,那么,為了不影響用戶體驗(過多的重定向?qū)е?/font> User IE 窗口不停地閃動 CAS 引入了一種 Proxy 認(rèn)證機(jī)制,即 CAS Client 可以代理用戶去訪問其它 Web 應(yīng)用。

代理的前提是 CAS Client 擁有用戶的身份信息 ( 類似TGC )  PGT 就是CAS Client 持有的對用戶身份信息的一種憑據(jù)。憑借 TGC , User 可以獲取訪問其它服務(wù)的ST,所以,憑借 PGT ,CAS Client可以從CAS Server獲取訪問代理應(yīng)用的PT,于是Web 應(yīng)用可以代理用戶去實現(xiàn)后端的認(rèn)證,而無需前端用戶的參與。

如圖3所示, CAS Client 在基礎(chǔ)協(xié)議之上,提供了一個額外的 PGT URL  CAS Server。于是,CAS Server 可以通過 PGT URL 提供一個PGT  CAS Client 

3  CAS Client獲取PGT流程圖

4  CAS Client訪問應(yīng)用流程圖

4 CAS的安全性

CAS的安全性依賴于SSL,并且其安全性要求遠(yuǎn)高于普通的應(yīng)用系統(tǒng)。

4.1 TGC/PGT 安全性

對于一個 CAS 用戶來說,最重要是要保護(hù)它的 TGC ,如果 TGC 不慎被 CAS Server 以外的實體獲得, Hacker 能夠找到該 TGC ,然后冒充 CAS 用戶訪問所有授權(quán)資源。

PGT  TGC 的角色是一樣的,如果被 Hacker 獲得,后果可想而知。

從基礎(chǔ)模式可以看出, TGC  CAS Server 通過 SSL 方式發(fā)送給終端用戶,因此,要截取 TGC 難度非常大,從而確保 CAS 的安全性。另外,TGC也有自己的存活周期。下面是 CAS  web.xml 中,通過 grantingTimeout 來設(shè)置 CAS TGC 存活周期的參數(shù),參數(shù)默認(rèn)是 120 分鐘,在合適的范圍內(nèi)設(shè)置最小值,太短,會影響 SSO 體驗,太長,會增加安全性風(fēng)險。

<context-param>

        <param-name>edu.yale.its.tp.cas.grantingTimeout</param-name>

        <param-value>7200</param-value>

 </context-param>

4.2 ST/PT 安全性

ST是通過 HTTP 傳送的,所以ST可以被截取到 CAS 協(xié)議從幾個方面讓 ST變得更加安全。

1) Service Ticket 只能使用一次。CAS 協(xié)議規(guī)定,無論 Service Ticket 驗證是否成功, CAS Server 都會將服務(wù)端的緩存中清除該 Ticket ,從而可以確保一個 Service Ticket 被使用次。

2) ST 在一段時間內(nèi)失效,默認(rèn)5分鐘。

3) ST是隨機(jī)產(chǎn)生的。

5 術(shù)語解釋

CAS系統(tǒng)中設(shè)計了5票據(jù):TGC、ST、PGT、PGTIOU、PT

Ticket-granting cookieTGC):存放用戶身份認(rèn)證憑證的cookie,在瀏覽器和CAS Server間通訊時使用,并且只能基于安全通道傳輸(HTTPS),是CAS Server用來明確用戶身份的憑證。

Service ticket ST:服務(wù)票據(jù),服務(wù)的惟一標(biāo)識碼,CAS Server發(fā)出(HTTP傳送),通過客戶端瀏覽器到達(dá)業(yè)務(wù)服務(wù)器端;一個特定的服務(wù)只能有一個惟一的ST

Proxy-Granting ticketPGT):由CAS Server頒發(fā)給擁有ST憑證的服務(wù),PGT綁定一個用戶的特定服務(wù),使其擁有向CAS Server申請,獲得PT的能力。

Proxy-Granting Ticket I Owe YouPGTIOU將通過憑證校驗時的應(yīng)答信息由CAS Server 返回給CAS Client,同時,與該PGTIOU對應(yīng)的PGT將通過回調(diào)鏈接傳給Web應(yīng)用。Web應(yīng)用負(fù)責(zé)維護(hù)PGTIOUPGT之間映射關(guān)系的內(nèi)容表。

Proxy TicketPT:是應(yīng)用程序代理用戶身份對目標(biāo)程序進(jìn)行訪問的憑證。

6 CAS Server與CAS Client的配置與部署

CAS ServerCAS Client的配置與部署詳見:http://www.360doc.com/showweb/0/0/444451531.aspx


本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
生活服務(wù)
熱點新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服