热点:

    通用权限管理数据库设计

      [   原创  ]   作者:
    收藏文章 暂无评论

    权限管理系统应支持三种不同性质的用户使用需求。

    1、 人与身份

    2、 权限管理需设计用户表与权限表,通过关联两表数据,明确每个用户的权限范围,实现系统权限的精准分配与控制。

    3、 在实际操作中会发现,为每位员工单独配置权限过于复杂繁琐。若公司所有人员均需逐一设置,工作量巨大且难以维护。为此,引入角色表的概念,将具有相同职责的人员划分为特定角色,再将权限赋予角色,用户只需归属于相应角色即可自动获得对应权限,大幅简化管理流程。

    4、 一个用户可拥有多个角色,一个角色也可被多个用户共享,二者呈多对多关联关系。

    5、 因此需设置中间表,大家对此应已熟知,不会产生疑问。

    6、 使用场景

    7、 在明确用户与角色后,需设计具体的应用场景。例如,一个应用包含系统管理、项目管理和销售等主要模块,这些模块即为典型的应用场景,常见的还有菜单设计、操作流程等。

    8、 设计完成后,应用场景涵盖模块、菜单与操作,三者之间将形成六种关联关系。

    9、 一个用户可关联多个模块,一个模块也可被多个用户共享,形成多对多的对应关系。

    10、 一个用户可拥有多个菜单权限,一个菜单也可被多个用户共享,形成多对多关联。

    11、 一个用户可执行多个操作,每个操作也可由多个用户完成,形成多对多的关联关系。

    12、 一个角色可关联多个模块,一个模块也可关联多个角色,二者呈多对多关系。

    13、 一个角色可拥有多个菜单权限,一个菜单也可分配给多个角色,二者呈多对多关系。

    14、 一个角色可拥有多个操作权限,一个操作也可被多个角色共享,二者呈多对多关系。

    15、 建立六张表以维护这六种关系。

    16、 这样的设计看似合理,若不增加新的关联关系,基本能满足大多数需求。

    17、 当新的需求出现时,系统通常需新增数据表来支持,这会带来结构上的调整,导致整体复杂性逐步上升,维护和管理的难度也随之增加。

    18、 这种设计存在若干明显缺陷。

    19、 表结构过于复杂

    20、 系统方案需灵活应对

    21、 不同应用场景会产生不同需求,新增需求时可能发现原有设计无法支持,需重新调整甚至增加新表,这正是前文所述问题的体现。

    22、 权限可简化为:某人在特定领域拥有何种操作权利,清晰明了。

    23、 主体可能是模块、页面,或是页面中的按钮。

    24、 权限可赋予用户、角色或部门,灵活适配不同管理需求。

    25、 领域可以表现为可见、只读,或具备可用性,例如按钮支持点击操作。

    26、 本质上是关于谁、做什么、怎么做的问题。

    27、 上述六张表可整合为一张表进行设计。

    28、 通过实例说明:页面中用户与角色的权限分配关系。

    29、 深入设计

    30、 将菜单配置存储于数据库,每个菜单对应唯一编码MenuNo,每个叶节点菜单项对应一个页面URL。

    31、 将按钮配置信息存储于数据库,并关联至具体菜单项(即对应某个页面)。由于单个页面可能包含多个按钮组,例如两个列表均需新增、修改、删除操作,因此需增设按钮分组字段,以区分不同区域的按钮集合,避免混淆,提升权限控制与界面展示的准确性。

    32、 将菜单权限授予用户或角色时,需设置权限主体类型为User或Role,对应主体值填写用户ID或角色ID;权限作用对象为Menu,对象值填写菜单编号;操作权限设为enabled,表示启用该菜单访问权限。通过此配置,可实现对不同用户或角色的菜单访问控制,确保系统资源的安全性与合理分配,提升权限管理的灵活性和精确度。

    33、 将按钮权限授予指定用户或角色时,需设置权限主体类型(PrivilegeMaster)为User或Role,对应主体标识(PrivilegeMasterValue)填写用户ID或角色ID;权限对象类型(PrivilegeAccess)设为Button,对象值(PrivilegeAccessValue)填入按钮ID;操作权限(PrivilegeOperation)设定为enabled,表示启用该按钮功能。通过此配置实现细粒度的按钮级访问控制,确保只有授权用户或角色可操作特定按钮,提升系统安全性与权限管理灵活性。

    34、 若需禁止单个用户权限,将PrivilegeOperation设为disabled即可。

    35、 不清楚的请查看下图说明。

    36、 我所推荐的Privilege表设计,巧妙地回答了谁、对什么、如何操作这三个核心问题。它结构简洁,扩展性强,灵活易用,将复杂的权限管理逻辑高度凝练,用一句话便概括了整个体系的核心思想。

    37、 权限操作不仅限于启用或禁用,还可涵盖权限分配与授权等多样功能,均通过该字段实现。虽然这会增加应用设计的复杂性,但数据库表结构无需改动即可满足需求,充分体现了其设计上的灵活性与可扩展性,为系统维护和功能调整提供了便利。

    soft.zol.com.cn true https://soft.zol.com.cn/1127/11278222.html report 3601 权限管理系统应支持三种不同性质的用户使用需求。 1、 人与身份 2、 权限管理需设计用户表与权限表,通过关联两表数据,明确每个用户的权限范围,实现系统权限的精准分配与控制。 3、 在实际操作中会发现,为每位员工单独配置权限过于复杂繁琐。若公司所有人员均需逐一设...
    不喜欢(0) 点个赞(0)
    随时随地资讯查报价 就上ZOL手机客户端,点击或扫描二维码下载
    立即下载

    XDBDesigner 数据库结构设计器 0.1

    更新时间:2007年07月27日

    用户评分:0 | 0人点评

    软件类型:试用软件

    软件语言:简体中文

    XDBDesigner 数据库结构设计器 0.1
    • 更新时间:2007年07月27日
    • 软件大小:0.9MB
    • 软件分类:数据库类
    • 语言种类:简体中文
    • 软件评级:0 人点评