1. 程式人生 > >java中使用Cookie替代Session解決跨域Session失效問題

java中使用Cookie替代Session解決跨域Session失效問題

Session在跨域時都會碰到失效問題了,但是如果我們使用cookie來替換的話就可以方便的解決這個問題哦,下面我們一起來看看利用Cookie替代Session解決跨域Session失效問題方法。

分散式系統中,各個子域名跨域訪問的時候,會出現session失效問題,導致登入失敗.

例如:使用者在www.111cn.net 上登入成功了.但是切換到他的個性化域名 mb.111cn.net 上的時候session失效.

怎麼辦?

可以採用session複製方案,比如nfs session共享,membercache session儲存,還有使用terracotta也可以.
採取以上方案都可以,但是上述方案會導致開發環境過於複雜,運維環境也過於複雜,而且session跨網路傳輸響應速度會減慢.
故我這邊採用了輕量級的cookie替代session解決方案.

Cookie替代Session,解決分散式Session失效問題思路如下:

儲存過程:
1.將要儲存的javabean轉成json字串(用gson工具)
2.des加密json字串
3.設定到根域名的cookie中
cookie.setDomain("kaihuangzhe.com");

解析過程:
1.遍歷所有cookie
2.找到對應的cookie
3.des解密json字串
4.還原為javabean(gson).

Java交流群: 398918539