网站首页 > 开源技术 正文
权限系统的设计一直是软件行业的核心,权限=功能权限+数据权限,RBAC用户、角色、权限、组设计方案是一套通用权限管理体系。
这个方案大致用到5张表:用户表(UserInfo)、角色表(RoleInfo)、菜单表(MenuInfo)、用户角色表(UserRole)、角色菜单表(RoleMenu)。
各表的大体表结构如下:
用户表(UserInfo):Id、UserName、UserPwd
角色表(RoleInfo):Id、RoleName
菜单表(MenuInfo):Id、MenuName
用户角色表(UserRole):Id、UserId、RoleId
角色菜单表(RoleMenu):Id、RoleId、MenuId
最关键的地方是,某个用户登录时,如何查找该用户的菜单权限?其实一条语句即可搞定,假如用户的用户名为zhangsan,则他的菜单权限查询如下:
Select m.Id,m.MenuName from MenuInfo m ,UserInfo u UserRole ur, RoleMenu rm Where m.Id = rm.MenuId and ur.RoleId = rm.RoleId and ur.UserId = u.Id and u.UserName = 'zhangsan'
六维权限管控模型
该体系从组织范围、角色范围、动作范围、模块范围、触控对象、数据范围6个维度,实现对角色权限的精准控制。
作为系统管理员,可以根据实际的情况,定义角色组,然后将模块权限赋权给特定的二级管理员,直至分配到特定的表单字段。超级管理员(固定的)、角色、部门、用户、模块、字段之间是动态组合的关系。
角色可以针对部门设立,也可以针对菜单和模块设立。赋权角色,用于向同级管理员分配数据维护权限。针对页面的操作权限分完全控制、禁止、只读、编辑四种。部门上可以分为总部、分部(分公司)、部门、员工。可以设立特别权限组,即某个标识好的角色,然后进行赋权和分权。
猜你喜欢
- 2024-09-10 系统权限管理产品设计(系统权限管理产品设计方案)
- 2024-09-10 结合RBAC模型讲解权限管理系统需求及表结构创建
- 2024-09-10 基于spring security的RBAC权限管理系统
- 2024-09-10 Smartbi权限安全管理系统_保障数据权限安全
- 2024-09-10 从零开始,手打一个权限管理系统(第六章 前端代码的接入)
- 2024-09-10 Github超火的后台权限管理系统实战PDF+源码终于开源了
- 2024-09-10 健康证分权限管理系统(健康证登录)
- 2024-09-10 5个步骤教你做ERP:权限系统(一)(erp系统权限管理)
- 2024-09-10 企业权限管理系统——用户登录相关操作
- 2024-09-10 权限系统设计(0):权限系统设计基本概念改需-MAC/RBAC引子
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)