sys_user(用户表)
用户表主要存储用户登录系统的账号(登录名),密码,状态等,一个用户可以有多个角色,通过 sys_user_role 存储用户和角色的关系

sys_role(角色表)
角色表是权限的集合,通过sys_role_permission 存储角色和权限的关系
sys_permission(权限表)
权限表是资源的集合,通过 sys_permission_resource 存储权限对应的资源
sys_resource(资源表)
资源表存储整个系统所有的url请求地址, 用户通过角色、权限、最终关联到资源,用户有哪些资源,权限过滤器就会允许哪些url请求能够访问系统
表详细设计PDM图箭头指向前端的是父表,末端的是子表,子表是关系表,用于存储2个表之间一对多或者多对多的关系
有一句话讲的是技术是为业务服务的,所以一个系统功能,也会对应一个线下业务操作场景,也就是说系统功能是线下业务场景在线上系统的映射,权限系统设计也基于这个思路实现的,每一个功能会对应到一个现实业务场景。
虚拟一个业务场景来说明表关系
我们入职一家公司,公司会给开一个工号(sys_user)
SH001
给你分配职位(sys_role)
总经理
你这个职位的管理权力(sys_permission)
管理人事部管理财务部管理销售部
你可以用这些权力做什么事情(sys_resource)
比如,我具备管理人事部的权利,就可以
查询人员列表新增员工停用员工
系统场景描述就是这样的
我们进入使用系统,管理员会先开一个账号(sys_user),给账号分配角色(sys_role),给角色赋予权限(sys_permission),权限赋予资源(sys_resource) ,资源就是我们最终能访问的URL。
账号有哪些资源,权限过滤器就会允许哪些请求能访问系统。