gpt4 book ai didi

database-design - 设计用户/组 ACL 数据模型

转载 作者:行者123 更新时间:2023-12-02 00:41:54 26 4
gpt4 key购买 nike

我的问题可能与之前在这里提出的问题相呼应: How to design a User Object Model using MS Roles & Membership ,但我再次询问,因为还没有好的答案,而且我的问题无论如何都是针对数据模型设计的:

所以无论如何,在我的应用程序中,有用户和组。一个用户可以属于多个组,一个组当然可以包含多个用户。现在的问题是,我们只知道几个基本组:user、guest 和 admin。将来,可能会有 can-do-X、can-do-Y 组,可能还有更多或不多于管理员、用户和 guest 。所以我很想采取简单的方法。以下是我对这些方法的看法:

如果我要有一个简单的用户表和一个角色表以及另一个模拟多对多关系的表,它似乎有点过度设计。如果我理解正确,这将被视为规范化方法。相反,如果我在 User 表中放入以下列,如 IsAdmin、IsGuest、CanDoX、CanDoY 等,那么这将被非规范化。

我希望在复杂性和灵 active 、时间和空间等之间取得平衡。请提出建议。

最佳答案

我强烈推荐规范化的 USER_ROLE(或 ROLE_USER)表。它不是“过度设计”,它正确准确地反射(reflect)了您的要求。

我在一个完全使用这个模型的数据库系统上工作;它目前有 250 个不同的角色,并且运行良好。在用户表上有 250 个“CanDoX”列将是一场噩梦,并且无论如何都不是一个选项,因为一些 super 用户被允许定义新角色。

关于database-design - 设计用户/组 ACL 数据模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285234/

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