跨域访问sessionid不一致问题
Posted qq_27373459
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨域访问sessionid不一致问题相关的知识,希望对你有一定的参考价值。
今天前后交互 的时候发现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 请求是也要加相应的东西
以上是关于跨域访问sessionid不一致问题的主要内容,如果未能解决你的问题,请参考以下文章 Vue+elementui +Springboot session丢失解决方案 |