token相关若干问题
1、token过程
1.1 登录后,将后端返回的token存起来
v.userToken = 'Bearer ’ + res.data.token;
// 将用户token保存到vuex中
v.changeLogin({ Authorization:v.userToken });
1.2 后端通过TokenUtil类生成和验证token
1.3 后端通过自定义实现拦截器HandlerInterceptor,完成对token的验证。
1.4 后端通过实现WebMvcConfigurer 将1.3的拦截器进行配置
2 总结
- 用户首次登录,后端通过TokenUtil返回token给前端。
- 前端每次请求头携带token
- 后端拦截器进行拦截并验证token
3、如果防止token被盗取
4、token和session
session的劣势:
- session需要在客户端和服务器端各保存一个sessionId,这就导致用户量大时,服务器开销大。
- session不利于服务器集群搭建,需要找到生产session的那个服务器才能找到。