自己设计的一套RBAC架构图,乐于分享给你们,此架构可粗粒度,可细粒度,

此套rbac默认粗粒度控制权限,也可细粒度控制,开启按钮控制权限,控制前端所有的按钮即可实现细粒度控制整个系统,
表间关系箭头所指都是N:N也就是多对多关系,目前可以解决多数系统权限需求
功能如下:
一级 系统管理
二级 用户组管理 功能描述:增删改查 配置角色 配置人员
二级 用户管理 功能描述:增删改查 配置角色 显示所在组 重置密码
二级 角色管理 功能描述:增删改查 配置功能
二级 功能管理 功能描述:增删改查 显示拥有角色 配置交易 配置菜单 配置按钮
二级 交易管理 功能描述:增删改查 显示所属功能
二级 菜单管理 功能描述:增删改查 显示所属功能
二级 按钮管理 功能描述:增删该查 显示所属功能
在程序使用中如何操作 ?
1首次登录可以把当前登录的用户所有角色获取出来,因为权限在设计的时候我们设计出了中间表,所以当前用户的角色总合 =(当前用户下的所有角色+用户所在组下的所有角色)把这两个集合的角色编码Set集合去重一下就是当前用户的角色列表
2获取到了当前登录用户的角色列表,我们在遍历每一个角色,根据每一个角色去查询对应的功能列表集合,把当前用户的所有功能Id获取到并且Set去重之后与登录信息一同存储在缓存当中 ,
3有了当前功能列表,用户在每次请求的同时我们可以对应的去查询 当前用户的所有功能下对应的 交易集合,也就是Action集合,还有对应的菜单集合,对应的按钮集合按钮可能是前端静态按钮所以由前端处理权限,其余权限皆是后台处理
                    
                
                
            
        
浙公网安备 33010602011771号