使用者登入需求fist:第一次登入後,多個頁面獲取登入資訊,開啟瀏覽器期間,不用再登入?
將使用者資訊記錄在客戶端cookie中,多次請求,檢查cookie,決定是否跳轉登入頁面,使用者資訊也從cookie中獲取。
實現了cookie有效期間(預設瀏覽器開啟時間,可以設定失效),一次登入,多次訪問。這種解決辦法暴露的問題:cookie中直接存明文資訊,不安全,使用者資訊可以偽造。解決辦法:將使用者資訊加密後存cookie中,登入時可通過sdk的解密方法獲取使用者資訊。
改進實現了對使用者資訊的加密,並且不能偽造cookie資訊進行登入這種解決辦法仍存在問題:
乙個請求取使用者資訊需要經過兩次解密操作,第一次是在***中,第二次是在controler中(如果更多的***,需要多次解密)
在第乙個***中進行解密後,組裝乙個userticket物件放置到threadlocal中,實現資源本地化,保證一次請求的過程中多個***和controler共享乙個userticket,不用每次呼叫三方解密演算法獲取使用者資訊。
這個初始***ticketcontextinterceptor 可以對ticket環境進行設定,所有頁面都用,後面再接乙個*** ticketinterceptor,如果有ticket則 ok,沒有則重定向到登入頁面。
***中清除threadlocal中ticket的原因是: web伺服器也是用的執行緒池,可能多個請求到了乙個執行緒(復用),而ticket在每乙個執行緒中是資源本地化的,如果不在***清除,可能多個請求復用了乙個ticket。
使用者登入 單點登入
首先是為啥要用單點登入的問題,單點登入也就是sso sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。1 任何系統都必須去登陸伺服器進行登入 2 伺服器就記住了登入狀態 3 其他系統訪問受保護資源,需要再次登入,跳轉到sso server登入的時候,伺服器告訴客戶端,已...
單點登入簡介
單點登入 跨平台 跨應用的身份驗證解決方案 single sign on 簡稱為 sso 一 什麼是單點登入 single sign on 單點登入 single sign on 簡稱為 sso,是目前比較流行的企業業務整合的解決方案 sso的定義是在多個應用系統中,使用者只需要登入一次就可以訪問所...
單點登入原理
單點登入sso single sign on 說得簡單點就是在乙個多系統共存的環境下,使用者在一處登入後,就不用在其他系統中登入,也就是使用者的一次登入能得到其他所有系統的信任。單點登入在大型 裡使用得非常頻繁,例如像阿里巴巴這樣的 在 的背後是成百上千的子系統,使用者一次操作或交易可能涉及到幾十個...