JWT+Interceptor实现无状态登录和鉴权

先提一下啥是有状态登录单一Tomcat的情况下:编码的流程如下

  1. 前端提交表单里用户的输入的账号密码
  2. 后台接受,查数据库,
  3. 在数据库中找到用户的信息后,把用户的信息存放到session里面,返回给用户cookie
  4. 以后用户的请求都会自动携带着cookie去访问后台,后台根据用户的cookie辨识用户的身份
但是有缺点
  • 如果有千千万的用户都往session里面存放信息,
  • session很难跨服务器,也就是说,用户每次请求,都必须访问同一台tomcat,新的tomcat不认识用户的cookie
无状态登录
  • 对于服务端,不再保存任何用户的信息,对于他们来说,所有的用户地位平等
  • 对于用户,他们需要自己携带着信息去访问服务端,携带的信息可以被所有服务端辨认,所以,对于用户,所有的服务地位平等
具体如何实现呢?
  • 用户登录,服务端返回给用户的个人信息+token令牌
  • 前端为了自己使用方便,将用户的个人信息缓存进浏览器(因为后端只是给了他一个token)
  • 用户携带自己的token去访问服务端
  • 认证通过,把用户请求的数据返回给客户端
  • 以后不论用户请求哪个微服务,都携带着token
  • 微服务对token进行解密,判断他是否有效

JWT+Interceptor实现无状态登录和鉴权

文章插图
【JWT+Interceptor实现无状态登录和鉴权】 


    推荐阅读