2014-10-29 2 views
1

Здесь мое имя контроллера AucUsersController. После использования компонента auth он находит userscontroller.I хочу изменить этот каталог. Я попробовал следующий код, но он не работает.Как изменить компонентный контроллер cakephp?

public $components = array('Paginator'=>array('limit'=>2),'Auth'=>array(
      'Controller'=>'AucUsers', 
      'loginRedirect' => array('controller' => 'aucusers','action' => 'index'), 
      'logoutRedirect' => array('controller' => 'aucusers','action' => 'index'), 
      'authError'=>'You can not access this page!!', 
)); 

Как я могу изменить этот контроллер по умолчанию?

+0

Вы прочитали это из документов http://book.cakephp.org/2.0/ru/core-libraries/components/authentication.html#creating-custom-authorize -объекты; Вы не создаете контроллер. Вы создаете компонент Auth – gmponos

+0

После добавления компонента auth в appcontroller, по умолчанию он выполняет поиск действия входа в userscontroller. Но здесь я использую AucUsersController, поэтому нет никакого UserController. После добавления компонента Auth в приложении теперь выполняется поиск в usercontroller. Но У меня нет какого-либо пользователя. –

+0

Извините за это. Я думал, вы хотите создать свой собственный компонент. – gmponos

ответ

3

CakePHP по умолчанию использует пользователь/Логин для loginAction, loginAction этого свойства, где вы определяете контроллер и действие, когда торт делает то Войти

public $components = array('Paginator'=>array('limit'=>2),'Auth'=>array(
      'loginAction' => array(
      'controller' => 'aucusers', 
      'action' => 'login' 
     ), 
      'loginRedirect' => array('controller' => 'aucusers','action' => 'index'), 
      'logoutRedirect' => array('controller' => 'aucusers','action' => 'index'), 
      'authError'=>'You can not access this page!!', 
)); 

loginRedirect - она ​​представляет собой, где пользователь должен перенаправлять после авторизации logoutRedirect - Представляет, где пользователь должен перенаправить после выхода из системы

0

Я считаю, что если вы хотите изменить контроллер по умолчанию, вы должны установить опцию UserModel. Я установил его по методу beforeFilter. Так что в вашем случае это будет.

/** 
* beforeFilter method 
* 
* @return void 
*/ 
public function beforeFilter() { 
    $this->Auth->authenticate = array(
     'Form' => array(
      'userModel' => 'AucUser', 
     ) 
    ); 

    return parent::beforeFilter();  
} 

Я не видел в документах каких-либо параметров контроллера.

+0

Я пробовал этот код, он не работает. –

+0

Можете ли вы определить, что он не работает; – gmponos

 Смежные вопросы

  • Нет связанных вопросов^_^