如何在cakephp中隐藏控制器

时间:2014-11-21 08:23:26

标签: cakephp

我在数据库中扮演角色,其中一个角色是管理员,另一个角色是商店..当商店登录时,他将无法看到除store..i.e之外的任何控制器。我希望隐藏所有控制器,并在商店将在cakephp中登录时显示一个控制器,我的代码是

public function isAuthorized($customer) {
    $role = $customer['role'];
    if(in_array($this->action,array('other controllers'))){
            if($role != 'admin'){
                return false;

            }
    }
    return true;
}

但这不起作用..

1 个答案:

答案 0 :(得分:0)

这是我的方式因为我没有ACL方式:

我在所有控制器中创建了一个beforeFilter函数,并在那里检查存储在会话中的角色用户,如果不允许用户访问该控制器,我会重定向:

function beforeFilter(){
        $role = $this->Session->read('Auth.User.role');
        if($role=="simple") $this->redirect(array('controller'=>'store','action' => 'index'));
}