【发布时间】:2015-02-16 09:27:40
【问题描述】:
在数据库中存储用户角色最有效的方法是什么?
例如权限是这样的:
应该有查看页面的权限:
- 第1页
- 第2页
- 第3页
- 第4页
因此,在上述情况下,您应该有权查看 Page1 和 Page2,但也有权查看 Page3
你可以
- 删除帖子
- 创建帖子
- 编辑帖子
仅在 Page2
上所有这些组合的可能性都应该有自己的作用。
现在我不知道如何将其存储在表格中。
我想过创建一个这样的表:
role | page1 | page2 | page3 | page4 | page5 | page6 | delete | create | edit |
role1| yes | yes | no | no | no | no | yes | no | yes |
但我认为使用它的组合太多了,所以必须有更好/高效/更简单的方法来做到这一点。
我还看到人们使用按位运算:
const read = 1;
const write = 2;
const append = 4;
const delete = 8;
const deleteContents = 16;
const readPerm = 32;
const changePerm = 64;
/* shortcuts */
const fullControl = 127;
const noControl = 0;
然后将它们链接到一个角色 但我听说这很难用。
所以我的问题是:
我有哪些选择,它们的优缺点是什么?
【问题讨论】: