谷歌浏览器跨域问题,系统登录后,从session获取用户信息还是提示登录超时
后台已经设置了允许127.0.0.1:8080跨域,其他内核浏览器只要后台设置跨域后都没这个问题,谷歌内核特殊
针对network 感叹号的原因解释 网上也有查找谷歌的一些安全性的设置
经过查询资料发现:
从Chrome 51
开始,浏览器的Cookie
新增加了一个SameSite属性,用来防止CSRF
攻击和用户追踪。该设置当前默认是关闭的
在Chrome 80
之后,该功能默认已开启
1、针对Google80-Google90版本的浏览器设置
禁用SameSite
Google浏览器访问
chrome://flags/#same-site-by-default-cookies
设置default为disabled 重启浏览器
2.Google91-94版本的Chrome浏览器
(针对Google80-Google90版本的浏览器设置在91版本后已被Chorme移除)
打开Chrome快捷方式的属性,在 目标 后添加
--disable-features=SameSiteByDefaultCookies
添加后目标T:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-features=SameSiteByDefaultCookies
重启浏览器再次登录 成功从session获取到用户信息
3. 94及以上版本的Chrome浏览器
Chromium项目官网提到在94版本通过命令行禁用设置SameSite默认值的方式会被移除,到时上诉方式都将无法使用。以后如果要在开发环境作业,可通过nginx等代理工具或软件将跨域请求转为非跨域请求来解决改问题,这样太麻烦,因为我们前端是本地启动,前端地址是127.0.0.1,需要本地要部署一个ng去代理服务器发布的后台地址,还一种是后台地址配置https协议,也比较麻烦,碰到在看吧,哈哈。
如果觉得《谷歌浏览器google80以上版本开发调试跨域问题处理 SameSite设置》对你有帮助,请点赞、收藏,并留下你的观点哦!