нормально в вашем AppController включить эту функцию:
public function beforeFilter() {
Security::setHash('sha1');
}
вы говорите, что ваша подпись sha1
теперь в вашей базе данных в вашем поле 'password' должно быть VARCHAR (30) не более 30 символов.
И я не уверен об этой линии в register.ctp, и есть запятая более после того, как истинное это неправильно
<?php echo $this->Form->create('User',array('type' => 'file','novalidate' => true,));?>
Почему файл? Я вещь, которая просто должна быть эта
<?php echo $this->Form->create('User');?>
и NOVALIDATE могут быть инициализированы в базе данных с правдой, то только перейти на новое значение
Ok. Я сказал вам, что вы должны добавить в AppController, теперь добавьте это в UserController. Это то, что происходит, когда вы смотрите на форму для хранения информации о пользователях много раз, чтобы использовать ключ шифрования sha1, и это шифрование, которое мы храним в базе данных во время регистрации. Но часто это не то же самое, когда регистрация может быть отправлена с другим типом шифрования, и что происходит, когда при проверке данных для проверки подлинности сравнивается (sha1 (регистрация паролей) == другое шифрование (пароль для входа)), потому что спецификация beforeFilter в Ключ шифрования.
добавил это и изменения в контроллере пользователя:
public function beforeFilter() {
parent::beforeFilter();
}
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
if($this->Auth->user('activated')==1){
$this->Session->setFlash(__('Bienvenido, '. $this->Auth->user('username')));
return $this->redirect($this->Auth->redirectUrl());
}else{
$this->Session->setFlash(__('Your Email is not verified. Please verify and try again.'));
$this->redirect($this->Auth->logout());
}
} else {
$this->Session->setFlash(__('Invalid Username or Password please try again'));
}
}
}
Он прав! Используйте данные $ this-> в данных Model и $ this-> request-> в контроллере! функция Логин() { \t если ($ this-> request-> есть ('пост')) { \t \t если ($ this-> Auth-> Логин()) { \t \t \t возврата $ это -> редирект ($ this-> Auth-> перенаправления()); \t} \t \t $ this-> Session-> setFlash («Неверное имя пользователя или пароль, пожалуйста, попробуйте еще раз»); \t} } –
'Контроллер :: $ data' по-прежнему доступен ([** через магические свойства **] (https://github.com/cakephp/cakephp/blob/2.5.4/lib/Cake/Controller /Controller.php#L395)) для обратной совместимости. – ndm