gpt4 book ai didi

mysql - 基于角色的访问控制的数据库架构

转载 作者:IT老高 更新时间:2023-10-28 23:55:34 24 4
gpt4 key购买 nike

我目前正在为本地协会开发成员管理,并且目前正在开发数据库架构。我想与您分享它以改进它,并为其他人提供基于角色的访问模型 (RBAC) 的示例。如果有任何建设性的批评,尤其是关于我在表格之间使用的关系,我将不胜感激。

高清链接:http://i.stack.imgur.com/WG3Vz.png

架构如下:DB Schema

它是如何工作的:

我正在将现有客户(实际上是协会的成员)从外部应用程序映射到我的管理应用程序。 (客户表)

关联在 Division、Subdivisions 等中结构化(intern_structures 表)。每个客户都可以是多个部门、子部门、部门等的成员。

每个客户都可以在此类成员资格(部门,...)中担任一个或多个角色,例如总裁、精算师、财务主管等,并且每个角色都具有某些特权,该角色的所有者可以将其应用于其部门、分割中的其他人,节等

凭据与应用程序的特定操作相关联。凭证的所有者可以对他范围内的其他成员执行此操作。可以有多个“独立”应用程序,但它们都共享相同的身份验证/授权系统。

应用程序由模块/子模块/操作等构成。例如“个人详细信息”模块,该模块包含一个名为“图片”的子模块,您可以在此应用“查看、删除、编辑”操作图片。但是您不能删除任何图片,除非您尝试删除其图片的人在您有足够角色的部门/部门中。

内部结构和应用结构都是树,实现为邻接列表嵌套集。邻接表保证了完整性,嵌套集让我可以快速遍历树。

一个异常(exception)是您可以直接向某人提供某些凭据(client_credentials)。如果有人需要对不在其部门/部分中的人执行某些操作,则需要这样做。

因此,某人可以成为多个部门/部门的成员,并在他所属的每个部门/部门中获得多个角色。我将合并某人通过他的多个角色拥有的所有凭据。并且凭据始终是肯定的,这意味着限制性凭据是不可能的。

最佳答案

我将再举一个我非常喜欢的 RBAC 系统示例。请查看 Tony Marston 的 radicore 框架 here .

我不确定它是否满足您的所有要求,但您可以将其与您的工作进行比较会有所帮助。

关于mysql - 基于角色的访问控制的数据库架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3686516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com