如何設計乙個單點登入系統(1)?
中,我著重從單點登入系統的由來,單點登入的概念,乙個好的單點登入系統應該具備的特點以及本人親自實現的乙個單點登入系統幾方面做了些介紹,這篇文章主要介紹下具體實現方案。
1.1 傳統sso實現方案-登入
1.2 傳統sso實現方案-登出
圖1.1為傳統sso實現方案中登入流程時序圖
圖1.2為傳統sso實現方案中登出流程時序圖
2.1 支援跨域的sso實現方案-登入
2.2 支援跨域的sso實現方案-登出
圖2.1為支援跨域的sso實現方案-登入流程時序圖
圖2.2為支援跨域的sso實現方案-登出流程時序圖
此方案中sso服務端需要做以下幾件事情:
提供登入頁
生成token,建立全域性會話
配置各系統名的**位址,供登入成功或者全域性會話存在時重定向使用
記錄各token繫結的使用者資訊
記錄各token繫結的系統名稱資訊,作為登出時**哪些系統登出介面的根據
提供登出頁
配置各系統登出的**介面,供登出時**繫結的系統
登出成功後**
認證token有效性
接入方需要做以下事情:
發現未登入時重定向到sso服務端
提供登入成功**介面,供登入成功或者存在全域性會話時**
提供登出介面
登入校驗
sso服務端**後根據token去服務端認證token的有效性
2 如何設計乙個秒殺系統
秒殺場景一般會在電商 舉行一些活動或者節假日在12306 上搶票時遇到。對於電商 中一些稀缺或者 商品,電商 一般會在約定時間點對其進行限量銷售,因為這些商品的特殊性,會吸引大量使用者前來搶購,並且會在約定的時間點同時在秒殺頁面進行搶購。限流 鑑於只有少部分使用者能夠秒殺成功,所以要限制大部分流量,...
單點登入設計實現(一)
什麼是單點登入?先來看看最初的應用架構 經典的單體架構,服務中包含了三個模組,部署在乙個伺服器中。使用者與服務端建立會話的方式是利用cookeis和session 見第二章節cookies和session 但是隨著系統內的業務越來越多,單個伺服器已經不能滿足效能要求,並且業務之間的互動越來愈多,業務...
解決單點登入的乙個方法!
使用者登入時,這樣寫 user user dao.login username,password 資料庫中判斷使用者名稱和密碼 if null user 當使用者訪問到其他url的時候,可以在過濾器或你的 中這樣寫 user user user session.getattribute user 從...