UPMS
概念
UPMS:User Permissions Management System,通用用户权限管理系统,其最大的价值在于解决重复开发的时间和技术问题,有非常良好的应用性和扩展性,通用用户权限系统基本能解决在用户系统中面临的各种问题。
so-fast基础框架内置UPMS模块,由于不同的项目有不同的定制需求,so-fast的UMPS模块不能做到完全兼容,因此该模块被设计为最基础的UMPS模块。在需要业务扩展的情况下,不推荐更改so-fast内置数据结构,推荐创建信息扩展表并结合内置的数据表进行业务的扩展。国内技术卡开发委员会也会在后续迭代过程中不断完善本模块,以适应更多的场景,为业务开发提供更大的便利。
UPMS-ER图
组织架构
so-fast提供简单的分级组织信息维护,sys_organization表中定义了最基础的组织信息,其中id为数据库自增主键,通过parent_id、parent_ids维护组织的从属关系,并且可以通过字典操作定义组织类型。so-fast提供简单的组织信息维护接口,详见swagger文档【2.系统内置模块API--组织机构操作】。
用户
so-fast提供简单的用户信息维护,sys_user定义了最基础的用户信息,其中id为数据库自增主键,login_name为用户登录名不可重复。系统内置超级管理员(admin字段值为“1”),此种用户为超级用户,禁止对其进行自改密码之外的任何操作。so-fast提供简单的用户信息维护接口,详见swagger文档【2.系统内置模块API--用户操作】。
菜单
so-fast提供的系统菜单维护功能,sys_menu_info定义了系统菜单信息,其中id为数据库自增主键。菜单类型有页面和按钮两种,并且在数据中通过component_path、parent_id体现了菜单按钮的层级关系。so-fast提供菜单信息维护接口,详见swagger文档【2.系统内置模块API--菜单操作】。
API资源
so-fast提供的系统API维护功能,sys_api_info定义了系统API信息,其中id为数据库自增主键。对于URI字段设置切记切实合理,以免造成不必要的权限疏漏。(例:用户操作API集合:/user/**)。so-fast提供菜API信息维护接口,详见swagger文档【2.系统内置模块API--API操作】。
权限
so-fast提供的系统权限维护功能,sys_permission定义了权限信息,其中id为数据库自增主键。权限类型分为API、页面、按钮三类,由于页面按钮均属于前端权限,因此,也可理解为权限分为后台权限与前台权限。so-fast提供菜权限信息维护接口,详见swagger文档【2.系统内置模块API--权限操作】。
角色
so-fast提供的系统角色维护功能,sys_role定义了角色信息,其中id为数据库自增主键。role字段在系统控制时会被用到,因此不可重复。系统内置admin角色,此角色禁止删除。so-fast提供菜权限角色维护接口,详见swagger文档【2.系统内置模块API--角色操作】。
数据创建流程
- 根据系统需求创建基础API信息(如需要精心细粒度的后台API权限控制)、菜单信息。
- 根基系统需求创建基础权限,如系统管理权限、业务操作权限、数据查看权限等妥当的权限划分。
- 基于系统基础权限创建角色,如管理员、业务员、游客等。
- 为用户分配角色。
- 开始使用。