成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

cas工作原理淺析與總結(jié)

warkiz / 2036人閱讀

摘要:是大學(xué)發(fā)起的一個企業(yè)級的開源的項目,旨在為應(yīng)用系統(tǒng)提供一種可靠的單點登錄解決方法屬于。實現(xiàn)原理是先通過的認證,然后向申請一個針對于的,之后在訪問時把申請到的針對于的以參數(shù)傳遞過去。后面的流程與上述流程步驟及以后步驟類似

CAS( Central Authentication Service )是 Yale 大學(xué)發(fā)起的一個企業(yè)級的、開源的項目,旨在為 Web 應(yīng)用系統(tǒng)提供一種可靠的單點登錄解決方法(屬于 Web SSO )。
其流程用時序圖描述如下:

請求app地址http://www.app.com

app端(cas client)AuthenticationFilter中校驗session中_const_cas_assertion_,不為空,直接放過url;否則獲取request中的ticket參數(shù),request中無ticket,302重定向到cas server地址,url中帶上service參數(shù)http://www.casserver.com/?ser...://www.app.com

cas server先判斷context中是否有service對應(yīng)的TGT

判斷沒有TGT,返回login form(客戶端跳轉(zhuǎn)至cas server登錄頁地址)

用戶輸入登錄信息,form提交至cas server

cas server驗證登錄信息,生成TGT和ST

設(shè)置TGC至cookie,url中顯式帶上ticket(STid)參數(shù),重定向Browser至App

App中AbstractTicketValidationFilter 會向cas server請求校驗ticket,帶上ticket(STid)和service(回調(diào)地址)參數(shù)

cas server通過ServiceValidateController校驗ticket

確認有效后返回校驗成功

此時App中會根據(jù)成功結(jié)果,在session中設(shè)置_const_cas_assertion_屬性

重定向到app,此時url中不帶有ticket參數(shù)

這時再經(jīng)過AuthenticationFilter時,session中有_const_cas_assertion_屬性,放行;再經(jīng)過AbstractTicketValidationFilter時,request中沒有ticket參數(shù),放行,訪問目標(biāo)資源

返回目標(biāo)資源給browser

要點如下:

如若第4步中,判斷結(jié)果為有service對應(yīng)的TGT,先驗證ticket(TGTid)、service是否合法,再根據(jù)renew參數(shù)看是否要重新創(chuàng)建service ticket,若要重新創(chuàng)建,則需要重新登錄;否則重新轉(zhuǎn)向service地址

如若app端想使用自己的自定義登錄界面,可以在第4步中不跳轉(zhuǎn)cas server的登錄頁地址,轉(zhuǎn)而跳轉(zhuǎn)至自定義登錄頁面。但需要向cas server端請求login ticket,在用戶填寫登錄表單后,連同login ticket一同傳參至cas server去做校驗

第6步中,TGT和ST的生成規(guī)則(這里指TGTid和STid的生成規(guī)則,TGT和ST均為類):"TGT_XX_RandomStr" "ST_XXX_RandomStr"。XX、XXX為AtomicLong.getAndIncrement()方法自增Long類型數(shù)字(最大值時,調(diào)用AtomicLong.compareAndSet()方法置0);RandomStr為隨機字符串

步驟12中再已校驗完用戶信息的情況下,再次進行重定向的目的,是為了隱藏第7步重定向時url中的ticket入?yún)?/p>

單點登錄的目的,是讓用戶登錄App1后,如有權(quán)限,可免登錄,直接訪問App2、App3等。cas的實現(xiàn)方式,是在訪問其他App時,使用Cas Proxy。實現(xiàn)原理是App1先通過Cas Server的認證,然后向Cas Server申請一個針對于App2的proxy ticket,之后在訪問App2時把申請到的針對于App2的proxy ticket以參數(shù)ticket傳遞過去。后面的流程與上述cas流程步驟8及以后步驟類似

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/69276.html

相關(guān)文章

  • CAS 5.2.x 單點登錄 - 實現(xiàn)原理及源碼淺析

    摘要:上一篇文章簡單介紹了在本地開發(fā)環(huán)境中搭建服務(wù)端和客戶端,對單點登錄過程有了一個直觀的認識之后,本篇將探討單點登錄的實現(xiàn)原理。因此引入服務(wù)端作為用戶信息鑒別和傳遞中介,達到單點登錄的效果。為該流程的實現(xiàn)類。表示對返回結(jié)果的處理。 上一篇文章簡單介紹了 CAS 5.2.2 在本地開發(fā)環(huán)境中搭建服務(wù)端和客戶端,對單點登錄過程有了一個直觀的認識之后,本篇將探討 CAS 單點登錄的實現(xiàn)原理。 一...

    elisa.yang 評論0 收藏0
  • 淺析CAS操作JAVA實現(xiàn)

    CAS Compare And Swap.比較并交換.java中的同步器就是基于CAS技術(shù)實現(xiàn)的,為什么它能保證操作的同步性呢?因為是原子操作的一種,所以可以在多線程環(huán)境下來實現(xiàn)數(shù)據(jù)的交換操作不被打斷. CAS的缺陷ABA問題: 第一個線程來讀取變量A時被掛起;第二個線程過來操作A,將A賦值為B之后,并重新賦值為A;線程二完成操作;此時,對于線程一來說,所看到變量A的值是沒有變化的,但是實際上變...

    haobowd 評論0 收藏0
  • 【Java并發(fā)】淺析 AtomicLong & LongAdder

    摘要:最終依舊使用來更新值。此時使用能更好地提升性能。適用于高并發(fā)情況下的計數(shù)操作,利用與相似的原理,以空間換時間,提高了實際的計數(shù)效率。 AtomicLong /** * Atomically increments by one the current value. * * @return the updated value */ public final long increme...

    zhjx922 評論0 收藏0
  • 原理剖析(第 004 篇)CAS工作原理分析

    摘要:原理剖析第篇工作原理分析一大致介紹關(guān)于多線程競爭鎖方面,大家都知道有個和,也正是這兩個東西才引申出了大量的線程安全類,鎖類等功能而隨著現(xiàn)在的硬件廠商越來越高級,在硬件層面提供大量并發(fā)原語給我們層面的開發(fā)帶來了莫大的利好本章節(jié)就和大家分享分 原理剖析(第 004 篇)CAS工作原理分析 - 一、大致介紹 1、關(guān)于多線程競爭鎖方面,大家都知道有個CAS和AQS,也正是這兩個東西才引申出了大...

    leanote 評論0 收藏0
  • 【整理總結(jié)】負載均衡淺析

    摘要:負載均衡算法輪詢,加權(quán)輪詢。參考三負載均衡負載均衡由服務(wù)提供廠商提供。之后,集群內(nèi)再采用其他的負載均衡方案。參考五負載均衡工作在層,它會與分別建立連接,需要維護這兩個連接的狀態(tài)。 運營研發(fā)團隊 施洪寶 一. 基礎(chǔ)知識 1.1 基礎(chǔ) 什么是負載均衡? 當(dāng)單機提供的并發(fā)量不能滿足需求時,我們需要多臺服務(wù)器同時服務(wù)。當(dāng)客戶請求到達時,如何為客戶選擇最合適的服務(wù)器?這個問題就是負載均衡問題。...

    idealcn 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<