【发布时间】:2012-08-17 00:56:57
【问题描述】:
我们正在使用 mysql。假设我们有一个 Adjacency List 模型表。 (我知道它没有标准化。)例如,personal table 的字段如下:
Personnel
|employee|boss |salary|
--------------------------
|CEO |null |999999|
|boss1 |CEO |99 |
|boss2 |CEO |99 |
|slvdrvr1|boss1 |9 |
|slvdrvr2|boss1 |9 |
|slave1 |slvdrvr1|1 |
|slave2 |slvdrvr1|1 |
|slave3 |slvdrvr1|1 |
|slave4 |slvdrvr2|1 |
|slave5 |boss2 |1 |
|slave6 |boss2 |1 |
我们还有一张桌子,里面有一些用户。例如,
Uers
|userid|role |
----------------
|super1|b1 |
|super2|b2 |
|user1 |sd |
|ruut |admin |
假设工资信息是机密的。因此,一些用户可以从某个分支看到工资信息。
例如,角色 b1 可以查看/编辑老板 1 及以下的所有工资。角色 b2 可以查看/编辑老板 2 及以下的所有工资。角色 sd 可以查看/编辑 slvdrvr1 和 slvdrvr2 及以下的所有工资。因此,我们需要设置一个用户-人员权限表来实现这一点。
Personnel 表很大,有数万行。
我的问题是我们如何设置一个我们可以轻松维护和查询的权限表?
例如,选项1:我们可以为每个人设置角色权限。但是,权限表会很大。
选项2:我们只能为父节点设置角色权限。但是,每次用户想要查看一定数量的记录时,我们都必须为每条记录查找权限,一直到我们有设置的地方。
用户数约为数百。 角色数量少于 100 个。
如果不清楚,请向我提问。提前致谢。
【问题讨论】:
标签: mysql permissions tree adjacency-list