2015-03-10 2 views
1

Я только что загрузил CakePHP и следил за учебниками, чтобы получить основы. Все шло нормально, пока я не начал с этой системы аутентификации.Не удается найти: BlowfishPasswordHasher Cakephp

Если вы перейдете к следующему URL-адресу и блоку хэширования пароля (кода).

http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html#authentication-login-and-logout

вы увидите:

public function beforeSave($options = array()) { 
if (isset($this->data[$this->alias]['password'])) { 
    $passwordHasher = new BlowfishPasswordHasher(); 
    $this->data[$this->alias]['password'] = $passwordHasher->hash(
     $this->data[$this->alias]['password'] 
    ); 
} 
return true; 
} 

Вопрос в том, когда я запускаю это, что я получаю фатальную ошибку на этой линии:

Фатальная ошибка: Class 'BlowfishPasswordHasher' не найдено в /Users/myUser/Sites/cake/app/Model/User.php в строке 29

Это линия (если быть точным):

$passwordHasher = new BlowfishPasswordHasher(); 

Почему он не видит этот файл?

В моей PhpStorm IDE, когда я альт + клик на него, он идет к нужному файлу, расположенному в:

/Users/MyUser/Sites/торт/Библиотека/Cake/Controller/Компонент/Auth/BlowfishPasswordHasher .php

У кого-нибудь еще есть проблемы с этим?

Заранее спасибо

+0

Просто небольшой комментарий: Я также пробовал: SimplePasswordHasher(), но он дает ту же ошибку. (файл есть, хотя). – BiGGiE0344

+0

Какую версию cakephp вы использовали? – Sadikhasan

ответ

1

Помещенные следующую строку в User Model

App::uses('BlowfishPasswordHasher', 'Controller/Component/Auth'); 
class User extends AppModel { 
    .... 
} 

Note : The BlowfishPasswordHasher uses a stronger hashing algorithm (bcrypt) than SimplePasswordHasher (sha1) and provides per user salts. The SimplePasswordHasher will be removed as of CakePHP version 3.0

+0

Ты качаешь человека, спасибо. Странно, что это не указано в учебнике. – BiGGiE0344

+0

Если вы внимательно посмотрите @ BiGGiE0344, вы заметите, что эту же строку можно найти в фрагменте кода в документах, которые вы связали. – ndm

+0

О, мой плохой, извините :( – BiGGiE0344

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