Я новичок в php и cakephp, я выполнял учебное пособие по простой аутентификации и авторизации от cakephp (http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html). Кажется, все работает хорошо.Подтверждение электронной почты Cakephp и пользователя
Я добавляю подтверждение по электронной почте, чтобы активировать учетную запись при подписании пользователем. В учебнике пароль используется с помощью хеширования blowfishpassword. И я использую его как токен в ссылке для подтверждения.
, но я не могу показаться, чтобы иметь возможность сравнить фишку ссылку с паролем в базе данных ...
$passwordHasher = new BlowfishPasswordHasher();
$motdepasse = $this->data['Utilisateur']['mot_passe'] = $passwordHasher->hash(
$this->data['Utilisateur']['mot_passe']
);
$link = array('controller'=>'utilisateurs','action'=>'activate',$this->Utilisateur->id
.'-'. $motdepasse);
public function activate($token) {
$token = explode('-',$token);
$user = $this->Utilisateur->find('first',array(
'conditions' => array('id' => $token[0],'Utilisateur.mot_passe' => Security::hash($token[1], 'blowfish', 'Utilisateur.mot_passe'))
));
debug($user);
debug($token[1]);
die();
}
Можете ли вы мне помочь? Спасибо, парни!
Если вы делаете это вручную, можете ли вы проверить, что такое хешированная версия каждого, и посмотреть, действительно ли они разные? – Dave