解决satoken前端登录后,后端校验登录状态失败的问题

问题描述

前端登录后,后端显示了登录信息并返回了token值,之后前端再调用另一个方法,后端拦截器进行请求拦截,判断当前用户是否登录,结果返回的是false,导致无法调用该方法。

猜测原因

用过swagger2和postman分别测试,二者都能正确访问方法,且拦截器中判断登录返回的是true,于是猜测是跨域问题,想到了cookie,后端判断是否登录可能是从网页当中的cookie获取相关信息进行判断,于是我分别查看三种测试方法下的cookie,swagger2和postman中的cookie都有信息,唯独网页当中的cookie是null,于是确定就是跨域cookie问题。

解决办法

前端main.js或拦截器中添加跨域携带cookie的代码,后端跨域配置中允许跨域携带cookie。
vue前端:
在这里插入图片描述
在这里插入图片描述

springboot后端跨域配置:将allowCredentials(false)改为true,将蓝线代码替换为红线代码。
在这里插入图片描述
至此问题解决,记录下此问题。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐