授予和拒绝访问cakePHP中的某些视图

时间:2014-12-03 11:16:03

标签: cakephp cakephp-2.3

到目前为止,我们一直在通过以下方式授予和拒绝访问某些视图:

public function beforeFilter() {
    parent::beforeFilter();
    $this->Auth->deny('add','edit','index','view', 'delete', 'translate');
}

它工作得很好,但现在随着需求的变化,我们需要做一个条件过滤器并给出适当的信息。它应该取得用户的角色,可以获得$ user ['role'],然后根据行动它应该通过提供适当的消息来授予/拒绝它。

非常感谢任何帮助或指导。

2 个答案:

答案 0 :(得分:2)

例如, 用户的角色是买家&的卖方

卖方可以执行以下操作添加更新& 删除&买家可以执行以下操作查看翻译

        public function beforeFilter() {
          parent::beforeFilter();
          if($user['role'] == 'buyers') {
                $actions = array('view','translate');
          } else {
                $actions = array('add','update','delete');
          }
         $this->Auth->deny($actions);

    }

有关详细信息,请转到link

那就是它。

答案 1 :(得分:0)

您还可以在这里查看ACL,这是关于cakephp中ACL的简短教程

http://mark-story.com/posts/view/auth-and-acl-an-end-to-end-tutorial-pt-1