带有ACL的CakePHP:许多组的最佳做法是路由?

时间:2010-06-21 20:51:43

标签: cakephp acl

我正在开发一个具有6个ARO组的应用程序,以涵盖所需的权限范围。最好的做法是每个都有* _add,* _edit,* _index,* _view等方法?这似乎有点代码过载和维护头痛。我可以想象用路由处理它的“最便宜”的方式是:

// core: edit
function _edit($id = null)
{
  // do stuff
}

function admin_edit($id = null)
{
  $this->_edit($id);
}

function manager_edit($id = null)
{
  $this->_edit($id);
}

function clerk_edit($id = null)
{
  $this->_edit($id);
}

/* ...and on and on... */

并且在必要时限制,例如,允许某个组仅编辑用户自己的项目或类似内容。

是否有其他推荐技术或者这是最佳做法?

1 个答案:

答案 0 :(得分:0)

据推测,您想为每个群组提供不同的功能吗?

如果情况并非如此,则不需要为每个组使用不同的CRUD方法。

另一方面,如果是这种情况,请查看CRUD方法中的switch语句,以找出具有哪些功能的人。

没有必要为每个组都有一个方法。