【SSO】--實現單點登入研究過程總結
一、單點登入實現結果:
許可權系統登入後,新生系統通過攔截器,獲取本地的cookie可以訪問該系統;許可權系統使用者登出後,銷燬本地cookie,訪問新生連結,自動跳轉到登入首頁。
二、主要遇到的問題:
實現本地cookie的跨域共享
三、解決方案:
1. 在url地址後面加一個票據ticket=guid,然後把ticket存入到快取中,攔截器對許可權進行攔截的時候,,獲取ticket後面的引數,跟本地的快取做對比,判斷是否可以登入。
失敗原因:普通的類裡面無法獲取瀏覽器的地址和引數。
2. 把使用者資訊存入到本地cookie, memacache作為第三方快取,許可權驗證的時候進行本地cookie和memacache的使用者登入資訊驗證。
失敗原因:存入memacache的cookie無法取出。
3. 通過IO流,把使用者資訊存入到本地,讓子系統登入時攔截器攔截的時候獲取IO流裡面的使用者驗證資訊。
失敗原因:子系統無法監測到存有使用者資訊的txt檔案。
4. 存入cookie,通過許可權filter的 Var memberValidation = filterContext.HttpContext.Request.Cookies.Get("selfUserInfo");獲取本地cookie,能夠實現本地cookie資訊的驗證。
V1.0
V2.0
四、感受:
1. 學會站在巨人的肩膀上。
一開始想要全部手寫CAS,不過偶然間發現MVC自帶登入生成票據的方法,通過底層學習了這些方法,不怕不知道,就怕不知道
2. 黑貓白貓抓住老鼠就是好貓。
單點登入要的結果就是隻需登入一個系統,可以訪問其他的被信任的系統應用;退出系統,其他應用也隨之退出。
不論Java還是.NET,實現這個效果就很好,不一定跟Java的CAS登入完全一樣。
3. 結對程式設計效率高。
不同的同學,不一樣的思路,結對程式設計比較不枯燥,目標一致,效率比較高。
4.跟大神在一起研究能學到很多東西。
相關文章
- Casdoor + OAuth 實現單點登入 SSOOAuth
- 單點登入 SSO 的實現原理
- OAuth2實現單點登入SSOOAuth
- 記一次 SSO 單點登入實現
- 實戰模擬│單點登入 SSO 的實現
- SSO單點登入最全詳解(圖文全面總結)
- 初探單點登入 SSO
- 【SSO】--單點登入之過濾器(filter)過濾器Filter
- CAS實現單點登入SSO執行原理探究
- 談談SSO單點登入的設計實現
- CAS單點登入(SSO)實戰(一)
- SSO單點登入邏輯
- spring+springmvc+Interceptor+jwt+redis實現sso單點登入SpringMVCJWTRedis
- SSO單點登入三種情況的實現方式詳解
- CAS SSO單點登入框架學習框架
- 如何自己實現一個健壯的 SSO 單點登入系統
- CAS實現單點登入SSO執行原理探究(終於明白了)
- Liferay中使用CAS實現單點登陸(SSO)
- oauth2.0實現sso單點登入的方式和相關程式碼OAuth
- SSO單點登入可以自己實現嗎?--開源軟體誕生10
- 不務正業的前端之SSO(單點登入)實踐前端
- Java架構-spring+springmvc+Interceptor+jwt+redis實現sso單點登入Java架構SpringMVCJWTRedis
- 【SpringSecurity OAuth2 JWT】實現SSO單點登入 第一篇SpringGseOAuthJWT
- 單點登入SSO和Oauth2.0 文章3OAuth
- 使用CAS實現單點登入
- 基於IdentityServer4的OIDC實現單點登入(SSO)原理簡析IDEServer
- CAS SSO單點登入服務端環境搭建服務端
- CAS SSO單點登入客戶端環境搭建客戶端
- 單點登入原理與簡單實現
- java實現簡單的單點登入Java
- 跨域分散式系統單點登入的實現(CAS單點登入)跨域分散式
- Laravel 通過 cookie 實現基於 session 的單點登入LaravelCookieSession
- 訂單交易平臺三(登入介面整個實現過程)階段一(只實現簡單的登入功能)
- ASP.NET Core Authentication系列(四)基於Cookie實現多應用間單點登入(SSO)ASP.NETCookie
- 單點登入的三種實現方式
- 22 CAS實現單點登入體驗
- 什麼是單點登入?如何實現?
- OAuth2.0協議入門(三):OAuth2.0授權與單點登入(SSO)的區別以及單點登入服務端從設計到實現OAuth協議服務端