Spring SSO單點登錄

電商網站SSO單點登錄,點擊購物車時,要驗證用戶是否已登錄,如未登錄,頁面跳轉至登錄頁面.
1.在MVC的XML文件中定義攔截器,定義要攔截器的路徑,/cart/和/order/
2.編寫攔截器類,直接繼承HandlerInterceptor,重寫3個方法,在第一個方法中編寫業務邏輯,其中用戶的信息,通過cookie的value值作爲redis的key和用戶的信息作爲redis的value存到redis緩存中
3.第一步先判斷是否有相應的cookie值,通過request.getcookie方法獲得全部的cookie值,遍歷cookie,通過equals方法,判斷是否有需要的cookie,之後獲取相應的cookie的value值,通過該值去redis中獲取用戶的信息
4.當用戶點擊登錄頁面時,由於使用HTTP協議,不能傳輸java對象,是能傳輸Jason串,前端和後端系統共5層結構,分別爲前端controller,service,後端controller,service,mapper,在前端controller中獲得用戶輸入的用戶信息,封裝到user對象中,傳輸給service層,通過URL,params跳轉至後端controller層中,進行數據庫的查詢,是否有該數據,當確定有該數據時,後端service層中將該用戶的信息作爲redis的value,已項目名-ticket加當前時間戳-用戶名,並使用MD5方法進行加密,作爲redis的key,並將該redis的key回傳給前端token,在前端service中將token作爲cookie的value,用項目名-ticket作爲cookie的key,使用response方法回傳給瀏覽器,並設置cookie的存在時間,讓在存在時間內用戶下次訪問不需要登錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章