我在数据库中扮演角色,其中一个角色是管理员,另一个角色是商店..当商店登录时,他将无法看到除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;
}
但这不起作用..
答案 0 :(得分:0)
这是我的方式因为我没有ACL方式:
我在所有控制器中创建了一个beforeFilter函数,并在那里检查存储在会话中的角色用户,如果不允许用户访问该控制器,我会重定向:
function beforeFilter(){
$role = $this->Session->read('Auth.User.role');
if($role=="simple") $this->redirect(array('controller'=>'store','action' => 'index'));
}