談談我的session跨域處理方法

2022-07-12 14:21:25 字數 1407 閱讀 4127

情景:公司的乙個**有乙個模組(測試模組)需要單獨用另外的乙個網域名稱(www.xyz.com)去訪問,即**需要用兩個不同的網域名稱去訪問,如首頁(www.abc.com)和測試模組(www.xyz.com)

這時候就涉及到session跨域問題,因為網域名稱不是父子關係,所以必須要實現完全跨域,想到了以下三個解決辦法:

1.url傳參:測試模組訪問的時候,位址www.xyz.com後把主網域名稱的session通過引數的形式傳遞過去,如:www.xyz.com;jsessionid=7d4ded1f2db5bc53961efed18bce7e30

2.sso單點登入

3.利用jsonp的跨域特性,通過ajax進行session傳遞

第一種方案考慮url傳引數不美觀以及url需要分享給別人的時候就沒法獲取到session,所以放棄

第二種sso單點登入方案應該在三種方案中最優的,因為系統架構問題,所以也放棄

目前採用的是第三種方案:

(使用測試模組網域名稱www.xyz.com進行**訪問的時候,利用jsonp跨域特性去主網域名稱www.abc.com獲取session資訊,然後把session資訊設定到測試模組網域名稱中)

var user = '$';//獲取session資訊

//先跨域去取主網域名稱登入的session資訊

2.後台實現**:

獲取session資料時是否進行資料加密,這個根據自己的需要,最好是把資料加密

session已經實現了共享,這種方案的缺點就是訪問測試模組的時候,需要和伺服器互動很多次,效能上肯定不好

誰有更好的解決方案,請 不吝賜教,在此感謝!

跨域Session超時問題處理

在乙個系統中有兩個應用a與b,其中a為主應用,b為報表應用,asession為30分鐘,b的session為20分鐘,使用者第一次登入a後,會自動登入b,此時系統計算b的session時間。有些情況下使用者在a應用上會一直停留,比如一小時,那一小時後,b的session已經失效,同理在b應用上停留時...

Session跨域問題

session主要分兩部分 乙個是session資料,該資料預設情況下是存放在伺服器的tmp檔案下的,是以檔案形式存在,而非儲存在伺服器的記憶體中 另乙個是標誌著session資料的session id,session id,就是那個 session 檔案的檔名,session id 是隨機生成的,...

URL資源跨域訪問 跨域使用session資訊

silverlight 出於對安全性的考慮預設情況下對url的訪問進行了嚴格的限制,只允許訪問同一子域下的url資源。下表列出了silverlight 2.0 中 url 訪問規則 webclient物件 media images asx xaml 檔案 font 檔案 流 允許的協議 跨協議訪問 ...