我想知道如何采取最好的方法来解决这种情况。这是一个数据库结构问题......让我们看看案例。
我有一些具有相同结构的数据库(比方说db_A,db_B,db_C)。当然,它们的结构相同但数据不同。
还有另一个拥有权限的数据库(db_permissions),另一个拥有用户(db_users)。
db_permissions结构表将是 ID,权限;其中权限是唯一的字符串标识符(如 post:create )。
现在,有一个用户对每个表具有不同的权限。例如:用户123 有权在 db_A 中写一篇文章,只读权 db_B 的权利,以及读,写的权利并删除 db_C 上的帖子。
我的问题是,我应该如何引用每个表的权限?
我引用唯一字符串标识符(如post:create,post:read)并将其直接添加到每个数据库权限(例如 user_id - permission_string )?
或者我是否通过权限数据库上的ID主键引用它们(例如 user_id - permission_id )?
在我的PHP脚本中,当我检查权限时,我会检查唯一的字符串标识符。
你会推荐什么?你会使用另一种结构来获得权限吗?
感谢您的时间和答案!
答案 0 :(得分:3)
如果您有一个{ID}}表将ID映射到权限字符串,那么您应该在存储用户权限的其他表中使用这些ID。
您应该有一个permissions
表,其中有3列:table_permissions
,user_ID
,table_ID
。
答案 1 :(得分:0)
如果要保持性能
,索引/引用应始终为整数类型