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).

更多相關文章
  • 跨域在開發中一些是一個比較常見的問題雖然有json或者xml來解決,現在html5開始流行了,我們可以通過Access-Control-Allow-Origin解決跨域問題,下面一起來看看.A.abc.com 發起一個到 abc.com/B 的ajax請求,也會有跨域的問題.之所以會有跨域問題,實則 ...
  • 本文我們來分享一下 Django 應用開發中如何解決跨域API調用問題,解決的方法有兩個:1.使用jsonp 2.使CORS生效.前幾天,在做質量度量平台時(Python框架Django開發),跨域調用的問題,我前面有一個做法是,在本地server中增加一個API,這個API的功能是遠程請求一個AP ...
  • 利用Typecho解決Gravatar被牆的問題
    下面來給各位介紹一個利用Typecho解決Gravatar被牆的問題,因爲現在google
  • 網站是由兩套獨立的系統組合而來,一套門戶,一套自定義開發,分別位于不同的伺服器. 域名只能有一個,于是使用nginx做了代理,根據location做了轉發,比如/portal就轉發到門戶系統.問題是門戶系統一直使用的
  • java 中 if (someobject = null) 檢查對象是否爲空的問題
    通常我們在 public Set 時,如果沒有特殊說明,返回的set 是不能爲 null 的.所以嚴格的說,返回是否爲空,我們需要判斷,因爲可能會出現問題.先我們來看下面代碼,對于這樣的對象爲空的檢查:if (someobject != null) { someobject.doCalc();}爲了
  • 利用js escape函數解決中文亂碼問題本來網頁特效中的escape()是將中文按iso-8859-1字符集進行url編碼的,那樣通過 request.getparameter()是能直接獲取到請求參數的,但後來的javascript將escape()換成了unicode字符集編 碼,如此一來,在
  • angularJS我們介紹的教程也不少了,在最近小編使用angularJS時碰到頁面有閃爍問題了,那麽此問題如何解決?具體步驟如下在用angularJS框架開發中,頁面載入時會看到有表達式{{express}}或者過
  • 最近在使用Matplotlib時發現其中文亂碼,一直想要解決一下,在網上看了集中方法,在這裏保存一下.找到 代碼如下 #font.family : sans-serif去掉注釋2.找到#font.sans-serif
一周排行
  • 如果你需要利用PHP調用Webservice我們必須在做這個之前,要確認你的php配置文件中已經將soap擴展打開,即extension=php_soap.dll;否則無法利用PHP調用Webservice,有需要的
  • 下文是一篇介紹mysql備份遷移及開放遠程訪問3306端口一個操作過程,希望有需要的可參考此教程來操作.今天把數據伺服器和業務伺服器進行了分離,其中涉及對MySQL開放遠程訪問的,作出記錄如下以供備忘:假設數據伺服器
  • array_search() 函數與 in_array() 一樣,在數組中查找一個鍵值.如果找到了該值,匹配元素的鍵名會被返回.如果沒找到,則返回 false.array_search() 函數與 in_array(
  • Mysql Native驅動(Mysql Native Driver 簡稱:mysqlnd )在PHP5.3.0版本中被引入.PHP5.4之後的版本mysqlnd被作爲默認配置選項,下面我們就一起來看看mysqlnd ...
  • DedeCMS V5.7 我們用到最多的肯定是html頁面了,但有時我們希望使用僞靜態了,那麽DedeCMS V5.7 url重寫怎麽設置呢,下面小編就來爲各位介紹dedecms 列表.文章配置教程DEDE雖然可以生
  • Windows 7中一不小心更新了IE9,發現經常性的假死,于是找到卸載的方法,恢複到IE8解決問題.方法一:1.依次點擊“開始->所有程序->附件”,右鍵點擊“命令行提示符”,選擇“以管理員身份運行”. ...
  • == 是判斷是否相等的符號,equal和使用==來判斷兩個普通類型是否相等沒有區別,本文我們來研究一下 == 和 equal 的區別和聯系.對于普通的數據類型,只要值相等==就會返回true,對于兩個指針類型的變量,
  • sql2005數據庫支持直接備份還原以前備份的數據庫,但是不是所有操作都可以很方便的執行,我就在還原數據庫提示3154錯誤了,後來百度一個解決辦法.先來看我們的錯誤提示錯誤提示:備份集中的數據庫備份與現有的“XXXX
  • 下面來給大家介紹一篇centos6系統安裝nginx+mysql+php-fpm環境教程,篇文章是在一個虛擬機中安裝測試了,不過在centos6.5中測試通過了哦,有需要的朋友可進入參考一下吧.昨天在虛擬機中安裝了一
  • PHP warning Illegal offset type錯誤解決辦法
    下面是一個朋友在使用yii時碰到PHP warning Illegal offset ty