- 首先考虑你要做的是什么?
分布式权限管理.
- 分布式权限需要哪些内容?
权限控制中心,客户端
- 权限控制中心是用来做什么?
用来提供服务给子系统/客户端
提供登录返回凭证
提供注册
提供注销
提供所有资源
- 客户端需要做什么?
拦截请求
询问服务中心
接收资源
设计(包括流程,数据结构)
1. app表管理子系统,注册子系统分配appCode
2. user表管理用户信息状态
3. role表管理角色
4. function表管理功能菜单以及各级菜单之间的继承关系
其他表为关系表以及字典表
关于流程设计 省略 脑补O(∩_∩)O~
1.用户--请求
--> 子系统1--拦截器认证失败
-->权限中心--返回登录页面
-->
2.用户--登录
-->权限中心--返回凭证/资源
--> 子系统1--接收并保存凭证/资源
-->
3.用户--请求
-->子系统1--拦截器认证成功
-->
4.用户--请求
-->子系统2--拦截器认证失败
-->权限系统--认证成功
-->
进行技术选型: SpringBoot/SpringCloud Shiro Mybatis 以及Redis
实现:
!注: 系统间通信方式可选RPC,HTTP,DUBBO,SPRING CLOUD
由于时间关系,代码上传到代码库如有需要请联系我哦~
原文地址:https://www.jianshu.com/p/4eb0d61d9a0c