我做了很多的研究,隨後許多不同的例子,但仍無法得到它的正常運行。登錄後註冊用戶CakePHP中
因此,這裏是從註冊控制器動作的一部分:
if(!empty($this->request->data)){
$this->request->data['Company']['start_date']= date("Y-m-d");
unset($this->Company->User->validate['company_id']);
if($this->Company->saveAssociated($this->request->data)){
$user = $this->request->data['User'];
$data['User']['password'] = $user[0]['password'];
$data['User']['email'] = $user[0]['email'];
if($this->Auth->login($data)){
$this->redirect($this->Auth->redirect(array('controller'=>'customers', 'action'=>'index')));
}...
所以用戶保存和用戶的電子郵件的一個新的數組並創建密碼。然後,它被傳遞到$這個 - > Auth->登錄。登錄似傳,但下面的錯誤是重定向到客戶控制器:
Notice (8): Undefined index: role [APP\Controller\CustomersController.php, line 32]
Notice (8): Undefined index: role [APP\Controller\CustomersController.php, line 36]
即使角色字段是自動設置爲用戶創造經理。 這裏是CustomerController的樣子:
公共職能isAuthorized($用戶){
if($user['role'] == 'manager'){
return true;}
if (in_array($this->action, array('add', 'edit', 'index', 'view', 'delete', 'users'))){
if($user['role'] != 'manager'){
return false;
}}return true;}
任何幫助是非常讚賞。