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

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

我想管理角色和权限。网络上的大多数设计看起来像这样

表格:

Users
Roles
UserRoles
Permissions
RolePermissions

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

Users
Roles
UserRoles
Permissions

在这个设计中,角色应该是:

   id   |     name

虽然 permissions 应该是:

编号 |角色编号 |节| Action

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

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

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

最佳答案

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

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

关于database - 哪个角色权限数据库设计?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17406069/

相关文章:

database - 本地跳转错误 : unexpected return on all db queries after ugrading to rails 4

database - 数据库中重新连接的节点如何与多数集群同步?

mysql - 使用特定列根据另一列查找值

Mysql外键,必须与引用表中匹配,否则键被删除?

database - 构建其中一行必须映射到另一个表中的多行的数据库的最佳方法?

Python Beautiful Soup WebScraping : Return only new data?

java - 使用 JDBC 更新数据库,其中包含一些应忽略的值

database-design - 这是组织数据库表的正确方法吗?

sql - 什么时候引用完整性不合适?

cassandra - Nosql模式设计/备份策略