SSO專題3 認證流程入口

2021-06-14 10:16:26 字數 1238 閱讀 9119

像我這種新手在學習的時候很在意是否有效果出來,沒有效果老是覺得不放心。我參考的是《yale_cas完整版教程.doc》這篇文章,服務端版本是3.5.2,客戶端版本是3.2.1

有圖有真相。跑起來挺不容易的,還有就是公司現在用的服務端版本是3.3.1,客戶端版本是3.1.6,先學習完原汁原味的,在看看公司是怎麼樣結合實際框架去應用的。雖然兩者版本有差別,但增加一些學習障礙,會更有挑戰,要學會折騰自己。

使用者有兩種方式進入認證流程:

1.一開始輸入 發出乙個servlet請求,會被delegatingfilterproxy過濾器攔截,再交給dispatcherservlet排程

2.鍵入: 

final string querystring = request.getquerystring();

final string url = request.getcontextpath() +"/login" + (querystring!=null ?"?" + querystring :"");//其實也就是,只是發出乙個servlet請求轉

response.sendredirect(response.encodeurl(url));

這裡進行的處理就是將使用者的請求重定向到cas認證中心的 /login 路徑下。在上一章中,我們已經知道,該路徑我們是由 名為 cas 的servlet,也就是org.jasig.cas.web.init.safedispatcherservlet 進行處理的。我們進入該servlet看一下他是如何進行處理的。

進入該servlet中,我們看到,他繼承自 httpservlet,也就是說他只是乙個普通的servlet。該servlet持有乙個dispatcherservlet 屬性delegate。這同struts的處理方式如出一轍。都是通過乙個**類來進行處理請求的。

該類的初始化也僅僅是呼叫**類delegate的初始化。service函式很僅僅是呼叫delegate的service函式。

看來,dispatcherservlet類才是處理請求的關鍵類。我們看到dispatcherservlet類的完整路徑是

org.springframework.web.servlet.dispatcherservlet

這裡,也就是將請求交給了spring mvc處理了。spring mvc核心配置檔案是cas-servlet.xml。

認證和SSO 五 基於token的SSO

1.1 修改 方法,獲得到token後,由存放到session改為存放到cookie 方法 接收認證伺服器發來的授權碼,並換取令牌 param code 授權碼 param state 請求授權伺服器時傳送的state 將token放到session中 token authresult.getbod...

許可權認證 SSO單點登入

sso single sign on 是處理乙個公司內的不同應用系統之間的登入問題,比如阿里巴巴旗下有很多應用系統,我們只需要登入乙個系統就可以實現不同系統之間的跳轉。為了完成乙個簡單的sso功能,需要兩個部分的合作 1 所有的認證登入都在 sso 認證中心進行 2 sso 認證中心通過一些方法來告...

網路流專題

模擬賽被網路流打爆了。題目來自於 pb 的網路流專題。左邊房子右邊菜,搞出最大流就行了。棋盤黑白染色,可選的方塊連邊,搞出最大流就行了。行列為點,格仔為邊。如果有完美匹配,就可以。否則不行。每個點最多對應兩個 t,所以這是乙個二分圖最大匹配。字典序最小,只需要從後往前匈牙利就行了。把圖建出來,是二分...