情景:公司的乙個**有乙個模組(測試模組)需要單獨用另外的乙個網域名稱(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 檔案 流 允許的協議 跨協議訪問 ...