首先先说明一下什么是jwt?
大白话:在用户没有登陆时账号时访问的页面东西是残缺的,不完整的; 登录后方可查看完整信息;
如何实现的?
在每一个请求头上加上一个token,有该token的请求方可被网关过滤器放行; 没有该token的请求都将被网关过滤器拦截并且返回响应状态码403
token怎么来的?
jwt加密已登录的用户信息=>token
如何加到请求中?
1.先将token随着响应体返回到浏览器,浏览器端保存到sessionstorage中 2.在每次点发送请求前取出sessionstorage中的用户数据加入到请求头中
那我自己随便写一个token不就可以了吗还要加密好麻烦?
不可以. 因为网关过滤器在拿到token是会根据当前项目的用户类进行jwt解密;能成功解密的才是一个正确的用户;
为什么要加密啊,直接把用户数据放到token中不行吗?
不可以,会泄露用户信息的;
具体怎么实现的呢?
见下图:
来源:oschina
链接:https://my.oschina.net/ilovejava/blog/3215736