【发布时间】:2011-12-16 23:37:38
【问题描述】:
我正在构建一个需要 3 个用户级别(成员、管理员、管理员)的简单网站,并且目前正在使用基于每个组设置权限的 ACL。现在,这一切都很好,但我想知道在 users 表中包含一个包含 tinyint 的 role 列是否更好用那个。
我考虑这个的原因如下。假设我想在页面顶部有一个“管理栏”,我必须检查用户所在的组,但组名可以更改并且不是静态的,role 列将会。这就提出了一个问题,ACL 是否适合具有如此简单权限方案的网站?
【问题讨论】:
-
这个
role列和你可能已经拥有的有什么区别,这意味着group_id列已经是一个 int ?顺便说一句,是的,组名可能会更改,这就是我们使用主键和外键的原因。这些永远不应该改变。 CakePHP ACL 数据表也不例外:即使组名确实存在于 ARO 表中,ACL 逻辑也是基于键的。