【问题标题】:which role-permission database design?哪个角色权限数据库设计?
【发布时间】:2013-07-01 13:49:03
【问题描述】:

我想管理角色和权限。网络上的大多数设计都是这样的

表格:

Users
Roles
UserRoles
Permissions
RolePermissions

这里,permissions 是什么?我正在考虑这样的设计:

Users
Roles
UserRoles
Permissions

在这个设计中,Roles 应该是:

   id   |     name

permissions 应该是:

标识 |角色 ID |部分 |行动

permissions 定义了哪个角色在哪个部分有什么动作控制。像这样:

id  |  role_id  |  section  |  action

1   |     2     |  posts    | edit
2   |     2     |  posts    | add
3   |     2     |  posts    | delete
4   |     3     |  users    | approve
5   |     3     |  users    | edit
6   |     4     |  articles | delete
7   |     2     |  users    | givepermission

它使用两个字符串而不是额外的表格和数字。在 PHP 上检查它似乎更容易。

这个设计有问题吗?是您根据您的经验推荐的吗?

【问题讨论】:

    标签: database database-design database-schema schema-design


    【解决方案1】:

    至于你的设计是否被推荐,那就看你要解决的问题了。但是,您的设计对于 RESTful 应用程序是有意义的,并且应该具有弹性。

    对于您的权限表,您可能需要考虑使用bitmask 而不是字符串。

    【讨论】:

      猜你喜欢
      • 2016-03-30
      • 2018-02-11
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      • 1970-01-01
      • 2013-01-26
      • 1970-01-01
      相关资源
      最近更新 更多