【发布时间】:2011-03-03 06:48:26
【问题描述】:
什么是用户的理想结构 > 对象的权限。
我看过很多关于一般权限的相关帖子,或者用户可以访问哪些部分,其中包括 users、userGroups 和 userGroupRelations 或类似性质的内容。
在我的系统中,可以创建许多不同的对象,并且每个对象都必须能够打开或关闭。例如,以具有组和子组的密码管理器为例。
Group 1
Group 2
Group 3
Group 4
Group 5
Group 6
Group 7
Group 8
Group 9
Group 10
每个组可以包含一组密码。可以授予用户对任何组的读取、写入、编辑和删除权限。可以随时创建更多组。
如果某人拥有某个组的权限,我应该可以让他拥有所有子组的权限,或者将其限制在该组中。
我目前的想法是有一个用户表,然后是一个权限表,其列如下:
permission_id (int) PRIMARY_KEY
user_id (int) INDEX
object_id (int) INDEX
type (varchar) INDEX
admin (bool)
read (bool)
write (bool)
edit (bool)
delete (bool)
这在过去很有效,但我正在构建的新系统需要能够快速扩展,我不确定这是否是最佳结构。这也使得让某人拥有组的所有子组权限的想法变得更加困难。
用户/管理员的角色将有一个单独的表格,这意味着他们可以更改他们可以控制的组下用户的权限。
那么,作为一个问题,我应该使用上述结构吗?或者有人可以指点我一个更好的方向吗?
编辑
另一种方法是为每种类型的对象创建一个权限表。
【问题讨论】:
标签: sql table-structure mysql