單點登陸實現思路

2015/9/22 22:35:50
前端

一般 咱們使用單點登陸的場景 是多個應用 須要共享用戶的基礎信息和登陸狀態
2015/9/22 22:37:07
多個應用 須要考慮到 這樣幾種狀況 
1. 同一主域名
2. 跨域名 
2015/9/22 22:41:17
我會分析單點登陸的使用場景 , 場景的特性 , 實現的方法 , 遇到的問題 , 
2015/9/22 22:42:29
用戶在登陸以後 , 咱們會對他的登陸狀態進行記錄
2015/9/22 22:43:26
採集基礎信息 (如 瀏覽器 , ip 訪問時間) 並集合一些參數 (ticket 失效時間) , 根據相應的規則 生成ticket
這裏的ticket 做爲用戶下次訪問受保護的資源時的校驗依據 (須要登陸的url)
ticket 有什麼特性
2015/9/22 22:44:34
時效性 , 因此這裏在持久化的時候, 能夠不優先選擇數據庫 , 而選擇緩存
這裏是關於ticket的部分
2015/9/22 22:45:24
針對於ticket的校驗
在用戶訪問每個受保護的資源的時候 , 咱們都須要校驗他所攜帶的ticket
看ticket 是否有效 , 是否過時
2015/9/22 22:46:23
校驗 能夠分爲 客戶端校驗 , 和服務端校驗兩種方式
23:07:13
這裏將單點登陸系統 , 拆分紅 客戶端 + 服務端 兩部分 , 客戶端以 jar 包的形式體現 , 服務端 之後端服務形式體現
23:09:44
用戶第一次登陸的時候 , 生成ticket , 存入前端session (分佈式用緩存), 後端進行持久化 
23:10:44
將ticket 存入 cookie 
校驗分爲兩種類型 (表單和異步請求 , get請求)
23:12:31
get請求 , 能夠經過客戶端 的攔截器 依次比對 cookie - session cookie 後端
異步請求 , 經過前端封裝 js的sdk , 統一入口 , 依次比對cookie - session cookie - 後端 中的ticket值
23:14:10
get請求 , 對於須要登陸的用戶 能夠進行頁面跳轉 , 並給出對應的回跳連接
異步請求 , 在當前訪問頁面 , 畫出一個frame , 進行登陸驗證
23:07:13
這裏將單點登陸系統 , 拆分紅 客戶端 + 服務端 兩部分 , 客戶端以 jar 包的形式體現 , 服務端 之後端服務形式體現
23:09:44
用戶第一次登陸的時候 , 生成ticket , 存入前端session (分佈式用緩存), 後端進行持久化 
23:10:44
將ticket 存入 cookie 
校驗分爲兩種類型 (表單和異步請求 , get請求)
23:12:31
get請求 , 能夠經過客戶端 的攔截器 依次比對 cookie - session cookie 後端
異步請求 , 經過前端封裝 js的sdk , 統一入口 , 依次比對cookie - session cookie - 後端 中的ticket值
23:14:10
get請求 , 對於須要登陸的用戶 能夠進行頁面跳轉 , 並給出對應的回跳連接
異步請求 , 在當前訪問頁面 , 畫出一個frame , 進行登陸驗證數據庫

相關文章
相關標籤/搜索