Я столкнулся с той же проблемой при использовании плагинов CakeDC, у многих из них мало / нет документации.
Однако документации по этому вопросу нет, вы можете узнать, как настроить его по большей части в нижней части страницы на github в разделе read me . Также вам нужно поместить это в ваш метод AppController :: beforeFilter ().
$this->Auth->authorize = 'controller';
$this->Auth->fields = array('username' => 'email', 'password' => 'passwd');
$this->Auth->loginAction = array('plugin' => 'users', 'controller' => 'users', 'action' => 'login', 'admin' => false);
$this->Auth->loginRedirect = '/';
$this->Auth->logoutRedirect = '/';
$this->Auth->authError = __('Sorry, but you need to login to access this location.', true);
$this->Auth->loginError = __('Invalid e-mail / password
combination. Please try again', true);
$this->Auth->autoRedirect = true;
$this->Auth->userModel = 'User';
$this->Auth->userScope = array('User.active' => 1);
if ($this->Auth->user()) {
$this->set('userData', $this->Auth->user());
$this->set('isAuthorized', ($this->Auth->user('id') != ''));
}
Кроме того, вам нужна функция isAuthorized()
, что-то простое:
public function isAuthorized() {
return true;
}
Кроме того, вам нужно разрешить действие 'login' (это будет включать редактирование файлов плагинов). Просто добавьте 'логин' к $this->Auth->allow()
в users_controller.php
.