大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 一文讀懂cas單點(diǎn)登錄原理

一文讀懂cas單點(diǎn)登錄原理

更新時(shí)間:2022-08-18 10:13:26 來源:動(dòng)力節(jié)點(diǎn) 瀏覽712次

SSO英文全稱Single Sign On,單點(diǎn)登錄。SSO是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問所有相互信任的應(yīng)用系統(tǒng)。CAS是一種基于http協(xié)議的B/S應(yīng)用系統(tǒng)單點(diǎn)登錄實(shí)現(xiàn)方案,認(rèn)識(shí)CAS之前首先要熟悉http協(xié)議、Session與Cookie等Web開發(fā)基本知識(shí)。

1.http協(xié)議

HTTP是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn),我們?nèi)蠖碎_發(fā)對(duì)接的Rest接口就是基于http協(xié)議。http協(xié)議包含http請(qǐng)求消息(HttpRequest)和http應(yīng)答消息(HttpResponse)兩部分。

理解http協(xié)議是無狀態(tài)協(xié)議的含義

熟記常見的http協(xié)議狀態(tài)碼,其中302等與cas相關(guān)

熟記常見的http請(qǐng)求頭,其中Cookie等與cas相關(guān)

熟記常見的http應(yīng)答頭,其中Set-Cookie、Location等與cas相關(guān)

2.Session與Cookie會(huì)話機(jī)制

http協(xié)議本身是無狀態(tài)的,但有時(shí)候我們需要http請(qǐng)求保持狀態(tài),我們引入Session與Cookie。

Session用在服務(wù)端,用于存儲(chǔ)當(dāng)前所有客戶端需要保持的狀態(tài)值,并為每一個(gè)客戶端生成一個(gè)唯一編碼,然后通過http響應(yīng)頭Set-Cookie將這個(gè)編碼發(fā)送給客戶端。

Cookie用在客戶端,用于記錄后端發(fā)來過的唯一編碼,該編碼與服務(wù)端上的對(duì)應(yīng)的狀態(tài)值對(duì)應(yīng),在下一次請(qǐng)求的時(shí)候通過http請(qǐng)求頭Cookie帶上這個(gè)編碼,服務(wù)端就能根據(jù)這個(gè)編碼獲取該客戶端之前記錄的所有狀態(tài)值。

3.普通登錄

登錄成功后,在Session中寫入登錄用戶的信息,退出時(shí)清空Session中的用戶信息。可以通過filter實(shí)現(xiàn)。

4.CAS單點(diǎn)登錄| 兩次前端跳轉(zhuǎn)、一次后端驗(yàn)證

(1)首次訪問(訪問第一個(gè)應(yīng)用系統(tǒng)App1)

CAS首次登錄會(huì)經(jīng)過兩次前端跳轉(zhuǎn)、一次后端驗(yàn)證。在應(yīng)用系統(tǒng)端需要集成CasClient的jar包,把其中的filter配置到站點(diǎn)web.xml中,用于攔截請(qǐng)求、判斷登錄、發(fā)起跳轉(zhuǎn)或發(fā)起驗(yàn)證等。在SSO服務(wù)器上部署CasServer的war包,需要配置用戶數(shù)據(jù)源,根據(jù)需求修改登錄頁面。

第一次前端跳轉(zhuǎn):客戶端訪問應(yīng)用系統(tǒng),應(yīng)用系統(tǒng)判斷Session發(fā)現(xiàn)未登錄,返回302跳轉(zhuǎn)到sso登錄頁面,并傳遞service參數(shù)給sso,該service參數(shù)有兩個(gè)作用:

service一般傳遞應(yīng)用系統(tǒng)url地址,用于sso認(rèn)證通過后回跳到應(yīng)用系統(tǒng);

service參數(shù)同時(shí)會(huì)被cas服務(wù)端的作為cas客戶端的唯一標(biāo)記記錄下來,用于后期匹配相應(yīng)的認(rèn)證憑據(jù);

第二次前端跳轉(zhuǎn):瀏覽器顯示登錄頁面,用戶輸入賬號(hào)密碼登錄成功后,sso會(huì)返回302跳轉(zhuǎn)回到原來請(qǐng)求的應(yīng)用系統(tǒng)頁面,并攜帶ticket參數(shù),作為認(rèn)證票據(jù),同時(shí)通過Set-Cookie向?yàn)g覽器記錄TGT,(TGT的作用將在下一個(gè)應(yīng)用系統(tǒng)需要登錄的時(shí)候體現(xiàn)出作用,是避免重復(fù)登錄的關(guān)鍵)

一次后臺(tái)驗(yàn)證:應(yīng)用系統(tǒng)接收到帶有ticket的請(qǐng)求后,從后臺(tái)直接向sso服務(wù)器發(fā)起一個(gè)http請(qǐng)求,將service和ticket作為參數(shù),用于驗(yàn)證ticket的有效性;如果ticket有效,sso服務(wù)器將返回該ticket對(duì)應(yīng)的登錄用戶名。

(2)再次訪問(訪問第二個(gè)應(yīng)用系統(tǒng)app2)

當(dāng)用戶已經(jīng)登錄過一個(gè)應(yīng)用系統(tǒng)以后,在同一個(gè)瀏覽器上訪問第二個(gè)應(yīng)用系統(tǒng),根據(jù)單點(diǎn)登錄的要求此時(shí)不應(yīng)該再登錄,而是直接進(jìn)入第二個(gè)系統(tǒng)。但是實(shí)際上還是需要經(jīng)過兩次前端跳轉(zhuǎn)、一次后端驗(yàn)證,只不過此時(shí)的兩次跳轉(zhuǎn)是連續(xù)的,中間不會(huì)再出現(xiàn)登陸頁面,用戶感受不到。判斷的依據(jù)就是前面第4步通過Set-Cookie保存到客戶端的TGT(Ticket Granted Cookie )。

相比首次訪問,少了之前的第3步(不需要再出現(xiàn)登錄頁面),因?yàn)榇藭r(shí)在第二步跳轉(zhuǎn)時(shí),攜帶了之前保存的TGT,cas服務(wù)端通過TGT可以得知用戶信息,因此直接生成ticket返回給應(yīng)用系統(tǒng)。所以此時(shí)是兩次連續(xù)的302跳轉(zhuǎn),用戶看到的效果就是直接進(jìn)入第二個(gè)應(yīng)用系統(tǒng)了。

以上就是關(guān)于“一文讀懂cas單點(diǎn)登錄原理”的介紹,大家如果想了解更多相關(guān)知識(shí),可以關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容細(xì)致全面,從入門到精通,很適合小白學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 国产一区三区二区中文在线 | 69国产成人综合久久精品 | 日本精品一区二区三区视频 | 精品成人免费一区二区在线播放 | 97午夜理伦片在线影院 | 羞羞视频免费观看网站 | 91精东果冻蜜桃星空麻豆 | 狠狠干2022| 天天操天天操天天操香蕉 | 日日射夜夜操 | 天天操天天干天天摸 | 日韩亚洲成a人片在线观看 日韩亚洲第一页 | 久久精品伊人波多野结 | 国产福利不卡视频在免费 | 四虎www.| 国产 日韩 一区 | 婷婷 综合 | 91热久久免费频精品黑人99 | 亚洲第五色综合网 | 免费v片在线观看无遮挡 | 四虎最新网址在线观看 | 精品一区二区三区四区乱码90 | 成年毛片| 欧美日韩北条麻妃一区二区 | 色综合久久中文字幕 | 亚洲国产精品一区二区九九 | 色综合天天综合网国产成人网 | 日本一视频一区视频二区 | 欧美黑人巨大3dvideo | 成人性一级视频在线观看 | 欧美19综合中文字幕 | 日韩欧美中文字幕一区 | 九九久久国产精品免费热6 九九久久精品 | 伊人网2021 | 黄色一及毛片 | 久久久久日韩精品无 | 日本高清不卡在线 | 欧美亚洲在线 | 亚洲欧洲一区二区三区在线观看 | 精品久久久久久久久久 | 国产精品一区视频 |