單點登入:
使用者訪問子系統資源,子系統判斷使用者是否建立了區域性會話
1)如果已經建立了區域性會話,那麼就表示已經登入過了,允許訪問資源
2)如果沒有建立區域性會話,那麼需要知道使用者是否建立了全域性會話,這時向sso認證中心發起請求以證明是否該使用者建立了全域性會話,並將自己的位址作為引數。
3)sso認證中心發現使用者已經建立了全域性會話,那麼sso認證中心帶著令牌跳轉到穿過來的請求位址
4)sso認證中心發現使用者沒有建立全域性會話,那麼就引導使用者前去登入介面,收集使用者的使用者名稱和密碼,處理登入請求,如果登入成功,則建立使用者與sso認證中心的全域性會話,同時建立授權用的 令牌 帶著令牌跳往傳過來的位址。
5)子系統會拿到令牌,然後去sso認證中心驗證令牌是否有效
6) sso認證中心認證令牌,有效則返回有效,並註冊該子系統。
7) sso認證中心認證令牌無效,前往4)
8)子系統使用令牌與使用者建立區域性會話,然後允許使用者訪問資源。
備註:使用者與子系統建立區域性會話
使用者與sso認證中心建立全域性會話
一般子系統不提供登入的入口,只是接受被授權的令牌,然後根據這個令牌與客戶建立區域性會話,並且通過這個令牌與sso認證中心進行授權通訊。
如果需要訪問子系統資源,必須需要建立區域性會話,要建立區域性會話,那麼必須要建立全域性會話,要建立全域性會話,就必須通過sso認證中心的認證。
思考:區域性會話的建立是否有必要?因為我們能否進入子系統取決於是否建立的全域性會話
不能。因為認證的關係鏈是 使用者 <--> 區域性會話 <--> 全域性會話 ,如果沒有區域性會話,那麼真個系統無法跟蹤使用者,也沒法聯絡sso認證中心,這個是最根本的問題
還有從效能上來說,當只要使用者建立全域性會話後,那麼使用者的資源訪問控制址需要區域性會話管理就好,無需再次請求sso認證中心認證,這樣可以減輕sso認證中心的壓力。
單點登出:
1)使用者在子系統發起登出請求,子系統通過區域性會話拿到令牌,然後向sso認證中心發起登出請求
4)各與令牌相關的子系統接受到sso認證中心的登出請求,取消區域性會話。
5)sso認證中心引導使用者前往登入頁面
單點登入方案筆記
oauth2 不同的企業之間的登入方式 例如 登入csdn用qq登入 單點登入 企業內部的登入方式 一 同頂級網域名稱下單點登入使用session共享的方式 2 攜帶cookie http請求時,攜帶上瀏覽器的cookie cokie裡標識值 jsessionid x 不安全 3 https措施 h...
jasig cas單點登入配置筆記
本文章例子以cas server 3.5.2版本為準,tomcat7.0,資料庫環境,oracle10g 解壓縮war.將解壓資料夾改名成casweb,啟動tomcat7 驗證登入環境是否正確.驗證的鏈結如下 預設的方式是不需要資料庫的驗證方式,只要使用者名稱 密碼即可登入.現在需要修改配置,連線o...
使用者登入 單點登入
首先是為啥要用單點登入的問題,單點登入也就是sso sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。1 任何系統都必須去登陸伺服器進行登入 2 伺服器就記住了登入狀態 3 其他系統訪問受保護資源,需要再次登入,跳轉到sso server登入的時候,伺服器告訴客戶端,已...