解决跨域,session不一致问题

今天前后交互 的时候发现session的id不一致。(我的逻辑是这样的,用户登录,账号密码都正确的时候,我就把用户信息放到session里面去,后续各种操作例如:获取用户信息等等。就不需要传递uid了。)

我这边后台服务器启动,前端进行接口对接的时候,后台一直获取不到值。最后发现request里有值,session也有值,但是session的id却不一致。想来想去不知道怎么回事。后来无意间想到跨域,以前解决过跨域问题,就是在fitter里加上

	        response.setHeader("Access-Control-Allow-Origin", "*");
		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
		response.setHeader("Access-Control-Max-Age", "3600");
		response.setHeader("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, Access-Token");

第一行,意思是运行从所有地址发来的请求。

第二行,意思是允许  POST, GET, OPTIONS, DELETE,这些方式的请求

第三行,意思是在该响应在多少秒内有效

第四行,意思是允许的请求头类型


可是对于今天的问题还是报错了。

那么从新来设置

                response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin"));
		response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
		response.setHeader("Access-Control-Max-Age", "0");
		response.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token,Access-Control-Allow-Headers");
		response.setHeader("Access-Control-Allow-Credentials", "true");
		response.setHeader("XDomainRequestAllowed","1");


注意:
Access-Control-Allow-Credentials  是true的时候。   Access-Control-Allow-Origin"的值不能为*。

 

同时

在ajax 请求是也要加相应的东西
$.ajax({
url:url,
//加上这句话
xhrFields: {
           withCredentials: true
       },
       crossDomain: true,

success:function(result){
alert("test");
},
error:function(){
}
});

这样我们再跨域测试的时候,就会发现我们的sessionId是一样的了,这样就实现了跨域并且保证在同一个session下




以上,解决问题。



参考:http://www.cnblogs.com/renhaisong/p/6892341.html

            http://blog.csdn.net/wzl002/article/details/51441704

            http://www.julyme.com/20161110/23.html

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值