1.需求场景
后台管理系统菜单权限访问控制
2.数据库设计方案
(1)基本表结构
tbl_menu 菜单表(资源表)
tbl_user (用户表)
tbl_group (菜单分组表)
(2)关联关系
tbl_user_menu (用户直接关联菜单表)
tbl_user_group (用户关联菜单分组表)
tbl_group_menu(菜单关联分组表)
(4)授权方式
其一通过用户直接关联菜单授权,其二 将菜单分组,再授予用户分组权限
(5)系统鉴权方式
用户登录后,一次性将用户关联的所有权限信息保存至会话(或者缓存中间件),通过拦截访问的URL地址进行鉴别。
3.实现关键点以及优化方向
(1)无限级树形菜单
(2)权限节点变更操作
(3)权限迁移
(4)不适用于存在权限分级以及细粒度权限控制的场景
(5)若需要实现按钮级别权限控制,可以使用自定义标签或者扩展相关配置表