【发布时间】:2011-09-09 14:10:28
【问题描述】:
我正在尝试在 CakePHP Auth 组件中使用角色。角色将是用户、管理员、超级管理员等。我很难根据用户角色在每个控制器中放置条件。我尝试了以下方法,但没有成功:
function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('add');
if($this->Auth->user('roles') == 'admin') {
$this->Auth->allow('index', 'add', 'edit', 'delete');
}
elseif($this->Auth->user('roles') == 'super-admin') {
$this->Auth->allow('index', 'add', 'edit', 'delete', 'make_super_admin', 'privileges'); //Note difference in superadmin priviledges
}
问题在于条件。我希望该功能进入每个控制器(UsersController、PatientsController、AdmissionsController 等)并根据用户角色赋予不同的权限。
【问题讨论】: