哪个角色权限数据库设计?

时间:2013-07-01 13:49:04

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

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

表:

Users
Roles
UserRoles
Permissions
RolePermissions

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

Users
Roles
UserRoles
Permissions

在此设计中,Roles应该是:

   id   |     name

permissions应该是:

id | role_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上检查它似乎更容易。

这种设计有问题吗?你是根据自己的经验推荐的吗?

1 个答案:

答案 0 :(得分:-2)

至于您的设计是否推荐,则取决于您尝试解决的问题。但是,您的设计对于RESTful应用程序是有意义的,并且应该具有弹性。

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