Я полностью потерял попытку настроить AuthComponent. Сбой всех логинов.Не может показаться, что AuthComponent CakePHP работает
Вот мой AppController beforeFilter
функция:
public function beforeFilter() {
$this->Auth->authenticate = array(
'all' => array(
'userModel' => 'ClientUser',
'fields' => array(
'username' => 'login',
'password' => 'password'
)
)
);
$this->Auth->loginAction = array('controller' => 'client_users', 'action' => 'login');
$this->Auth->loginRedirect = array('controller' => 'static', 'action' => 'clientcenter');
$this->Auth->logoutRedirect = array('controller' => 'static', 'action' => 'home');
// I deny stuff later on
$this->Auth->allow();
}
И вот login
функция в контроллере ClientUsers:
public function login() {
// Check login data
if ($this->Auth->login()) {
return $this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Username or password is incorrect'), 'default', array(), 'auth');
}
}
И это всегда терпит неудачу. И я понятия не имею, почему.
Это мое $request->data
содержания: (Я на самом деле использовал «логин» и «имя пользователя», как имя поля, ни работу)
ClientUser
login: [email protected]
password: thepassword
паролей клиентов перемешаны в модели, используя AuthComponent (который . импортируется в верхней части сценария я использовал функцию хеширования безопасность раньше, но и не сработал):
public function beforeSave($options) {
$this->data['ClientUser']['password'] = AuthComponent::password($this->data['ClientUser']['password1']);
return true;
}
"этом-> Auth-> позволяют();" это плохая идея. Только белый список определенных действий или, по крайней мере, поместить это только в некоторые контроллеры, никогда в контроллере приложений. Кроме того, ваш beforeSave выглядит плохо (хотя он, скорее всего, не связан). Как включить AuthComponent? – mark