分布式权限管理系统-架构篇
文章目录
后台管理系统也需要微服务化
痛点一:庞大的后台管理系统
任何一个公司的系统总是免不了需要很多后台功能,随着业务的发展,营销活动管理后台,短信模板后台,网站内容管理后台…最后会变成一个异常庞大而难以维护的系统。往往光菜单就有几十上百个。每次修改跟新增一个简单的功能都是一场灾难。
痛点二:各自独立的后台管理系统
如果公司内部有多条产品线,每个产品线都有自己的后台,往往都各自维护着各自的后台权限体系,这样导致每个人要记住大量的账号密码。如果公司来了新领导,光开通账号就要好几天。
针对上述两个问题,自然而然的会想到,我们首先需要把后台管理系统拆成多个子系统,但是我们不需要维护多套用户与权限体系,此时我们需要一个单点登录系统来解决问题。该系统应该提供统一的登录与系统导航页面,统一的身份认证、以及统一的账户管理和权限管理。
我们把该系统分为三大模块
管理员模块:账号,角色,权限分配,部门信息
用户模块:统一的登录页面,统一的系统导航页,统一的会话管理
认证模块:提供认证的客户端以及认证的接口
管理员模块
关于基本的后台权限管理功能,有大量的开源系统可以借鉴。这里只强调几个重点:
1.管理员的分级管理。
如果需要集成的系统比较少,涉及到的用户不多,那么可以只设置一个超级管理员,该管理员负责所有的账号,角色,以及权限分配。如果需要集成几十个系统,涉及到的用户很多,则必须考虑设置两种管理员,超级管理员和普通管理员,普通管理员也具备创建账号与分配权限的功能,但是普通管理员只能分配自己所拥有的权限。例如我们有一个后台坐席系统,坐席人员有上百人,那么我们应该为坐席管理员增加一个普通管理员的权限,让他自己维护坐席人员的账号和权限。
2.管理员账号与用户账号的分开管理。可以考虑分开两张表管理或者加一个标志位。
3.权限的粒度
-
3.1 页面元素权限菜单级别的权限一般跟角色绑定,在后台可以为某一个角色分配菜单以及按钮的权限。需要子系统读取认证接口展示菜单项。
-
3.2 数据权限数据权限一般跟部门挂钩,但是必须子系统在代码级别支持。
-
3.3 接口权限如果子系统采用的是前后端分离的架构,那么除了菜单层面需要限制以外,接口层面也需要进行权限管理。
-
3.4 其他权限假如子系统是一个数据库查询系统,某个用户可以访问哪个数据库表,这种权限的维护放到子系统自己维护。
4.角色-用户反查
原文低垂:https://blog.csdn.net/chenyao1994/article/details/89395040相关文章
- 企业销售管理系统的设计与实现(论文+源码)_kaic
- 时序数据库:专门面向时序数据进行优化的数据库管理系统
- 基于.NET的企业进销存管理系统的设计与实现_kaic
- 基于微信小程序“筑巢”管理系统的开发与研究_kaic
- 精品springboot核酸检测管理系统vue
- 精品spring boot+MySQL新冠物资管理系统vue
- 微信小程序论文管理系统+后台管理系统
- 微信小程序图书借阅系统+后台管理系统
- 客户关系管理系统
- ssm家庭理财个人理财管理系统
- 银行管理系统
- 微信小程序图书借阅系统+后台管理系统
- 精品基于SSM企业人力资源管理系统的设计与实现
- ssm家庭理财个人理财管理系统
- javaweb户籍管理系统
- 生鲜行业B2B交易管理系统:助力企业一体化管理,促进生鲜企业线上线下融合
- 环保行业采购协同管理系统:助推环保行业电子采购管理转型升级
- 深入机械制造业供应链关键节点,SCM供应链管理系统全面防控企业供应链风险
- 数商云电子采购平台解决方案:构建企业采购管理系统业务架构、应用场景
- 数商云供应链集采管理系统解决方案:产品特色、功能、架构全解析
- 数商云供应链集采管理系统解决方案:产品特色、功能、架构全解析
- 电子采购平台解决方案:构建企业采购管理系统业务架构、应用场景
- Django 练习班级管理系统五 -- 查看老师列表
- 基于STM32的电池管理系统触摸屏设计方案
- 江苏理工学院计算学院实验教学管理系统[.NET项目]