其他分享
首页 > 其他分享> > 003 Jwt登录流程图

003 Jwt登录流程图

作者:互联网

用户\角色\权限

用户是一个基本的单位

用户和角色的关系是多对多,所以要有一张保存用户和角色关系的中间表

角色也不能直接决定这个用户能做什么操作,有哪些权限, 需要再关联权限表决定

角色和权限也是多对多的关系,也要有中间表

如果项目开发的权限比较全面,可能会出现临时用户权限关系表

关于单点登录

微服务的会话保持问题


1.我们在用户模块中登录,只是将用户信息保存在用户模块的session中,而这个session不会和其他模块共享

所以在我们访问订单模块或其他模块时,通过sessionid并不能获得在用户模块中登录成功的信息

这样就丢失的用户信息,不能完成业务


2.市面上现在大多使用JWT来实现微服务架构下的会话保持
也就是在一个服务器上登录成功后,微服务的其他模块也能识别用户的登录信息
这个技术就是**单点登录


单点登录解决方案


Session共享

这种方式的核心思想是将用户的登录信息共享给其他模块

适用于小型的,用户量不大的微服务项目

1656555664477.png

将登录成功的用户信息共享给Redis

其他模块根据sessionId获得Redis中保存的用户信息即可


JWT令牌

这种登录方式,最大的优点就是不占用内存

1656556452915.png

生成的JWT由客户端自己保存,不占用服务器内存

在需要表明自己用户身份\信息时,将JWT信息保存到请求头中发送请求即可


Jwt登录流程图

1656557003156.png

标签:流程图,登录,JWT,Jwt,用户,信息,003,模块,权限
来源: https://www.cnblogs.com/yzoran/p/16483875.html