2021郑汴当日往返算跨域ajax返乡吗需要核酸检测吗

背景:最近项目jwt用户认证方式關于jwt本人就不再赘述,大家可自行百度

  jwt token基本流程是这样的:

  • 用户使用用户名密码来请求服务器
  • 服务器进行验证用户的信息
  • 服务器通過验证发送给用户一个token
  • 客户端存储token,并在每次请求时附送上这个token值本项目将token存储在localstorage中
  • 服务端验证token值,并返回数据

   本项目的需求是生成token的过期时间为10分钟,如果用户未操作时间超过10分钟则需重新登录,如果一直有操作则要给token延长过期时间。

   找了很久都沒能找到延长token过期时间的方法,网上大都说的是采用生成新token的方式最终决定采用如下方式解决:每个请求都去检查token,如果该token离过期时间還剩1分钟则重新生成token,将新生成的token放入响应头中前端ajax请求完成后,去response headers中查找token如果有,则替换掉原来存在localstorage中的token(即后面所有的请求都采用新的token)看上去觉得没有什么难的,其中遇到个很棘手的问题由于本项目采用的是spring cloud架构,前后端完全分离所有的ajax请求都是跨域ajax的,以至于在前台getResponseHead('token')时无法获取到响应头中的token。郁闷良久最终找到一个解决方案,在后台header中添加 

}

后台代码 (返回时 转json格式括在js洎定义回掉函数名里)

}

思路:通过命令行修改浏览器启動参数使得浏览器不进行跨域ajax检查,从而允许跨域ajax

但是这种方法有三个缺点:

1.每次启动浏览器都需要通过命令行启动,太过繁琐

2.该方法会导致安全性方面的问题

3.该方法是客户端方面的改动在实际使用中,在每个客户端上都禁止浏览器进行跨域ajax检查不太现实所以实用性较低。

总的来说该方法虽然可以解决跨域ajax问题,但是价值不大在实际项目中,主要对服务器端进行改动使得支持跨域ajax

}

我要回帖

更多关于 跨域ajax 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信