Vue中token验证踩坑
最近在修改前人留下的代码,修改中无意发现当我向后端发送请求提取数据时,后端提示我有关token的错误。问题所在和解决方式在此记录一笔。
问题初步定位在我所修改的系统的登陆部分和向后台发送请求的api部分,在登陆时,后端返回给了前端一个token,前端将其储存在了sessionStorage中,以供请求拦截器使用
这里是login当中将token储存进sessionStorage:这里是请求拦截器中将请求头带上token:
当我退出登陆,紧接着再次登陆另一账号时,会出现后端所接收到前端发送的token与redis中的token不一致的问题,最后发现前端传的token是上一个账号所获得的token。
原来是我的请求拦截器中的问题,let name = sessionStorage.getItem(‘name’)和const token =sessionStorage.getItem(name)这两句只在程序运行时执行一次,而不是伴随着每次拦截器的工作进行实行,导致了登陆其他账号后,token还是第一次登陆的账号的。将其改正为
问题解决。