目前使用前后端分離的模式開發(fā),后端提供跨域接口、前端jsonp調(diào)用,綁定數(shù)據(jù),但是在該站點(diǎn)下有個(gè)人中心模塊存在的情況下,服務(wù)端的session會話會被跨域請求覆蓋改掉

大家都知道tomcat使用cookie中jsessionid來區(qū)分客戶端session會話

跨域請求接口恰恰有時(shí)候響應(yīng)回來回改變該站點(diǎn)下的jsessionid值,導(dǎo)致服務(wù)器每次判斷都是一個(gè)新的會話

 

以網(wǎng)站個(gè)人中心模塊來說,每一個(gè)跨域jsonp請求,都會Response 一個(gè)cookie值,SET-COOKIE:JSESSIONID=XXXX,如下圖:

 


 

再看服務(wù)端,前端刷新一次也沒,后端服務(wù)會話id都不是同一個(gè)sessionid,所有后端所有的請求都是未登錄,這就導(dǎo)致前端發(fā)送的請求,后端無法拿到當(dāng)前個(gè)人用戶信息


 

目前服務(wù)端部署都采用tomcat,所以修改辦法是在conf/context.xml文件中,設(shè)置sessionId的cookieName別名,不和默認(rèn)的jsessionid一直,如下:

網(wǎng)友評論