當用戶下訂單時需要用戶登錄,使用攔截器實現用戶登錄。登錄成功後跳轉到用戶要訪問的頁面。
門戶系統整合sso
在門戶系統點擊登錄連接跳轉到登錄頁面。登錄成功後,跳轉到門戶系統的首頁,在門戶系統中需要從cookie中 把token取出來。所以必須在登錄成功後把token寫入cookie。並且cookie的值必須在系統之間能共享。
Cookie共享:
1、Domain:必須是相同的。
例如有多個域名:
www.taotao.com
Sso.taotao.com
Search.taotao.com
需要設置domain爲:.taotao.com
2、設置path:/
工具類
如果是localhost不要設置domain。直接設置path就可以了。
工具類可以放到taotao-common中。
在登錄接口中添加寫cookie的邏輯
首頁取cookie信息
從cookie中取token,在頁面中根據token取用戶信息,調用sso系統的服務來完成。需要使用jsonp調用。
登錄成功:
模擬攔截url
需求:當訪問商品詳情頁面時強制用戶登錄。(當有訂單系統後就改爲訂單系統的url。)
創建攔截器
1、需要實現HandlerInterceptor接口。
2、實現攔截邏輯
3、需要在springmvc.xml中配置。
用戶登錄Service
功能:根據token換取用戶信息,需要調用sso系統的服務。返回TbUser對象。如果沒有就返回null。