我試圖在CakePHP身份驗證組件中使用角色。角色將是用戶,管理員,超級管理員等。我很難在每個控制器中放置一個基於用戶角色的條件。我嘗試了以下,但它沒有工作:CakePHP身份驗證組件中的角色
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等)並基於用戶角色,賦予不同的權限。
我原來在那裏,不知道爲什麼它現在不存在。但這並沒有回答這個問題。問題在於條件。我希望函數能夠進入每個控制器(UsersController,PatientsController,AdmissionsController等)並基於用戶角色,賦予不同的權限。 – Chris 2011-06-07 14:37:19
如果每個控制器擁有不同的權限,則只能在每個控制器中手動設置它們,或者按照@generalopinion的建議使用ACL。 – Tim 2011-06-08 07:12:59
@generalopinion儘管我很難理解如何做到這一點,但您已經說服了我。如果有人能夠推薦一個好的(不包括蛋糕的)教程或者寫出一個好的,我相信他們會得到很多掌聲。 – Chris 2011-06-09 21:14:35