我刚刚下载了CakePHP,并按照教程来获取基础知识。一切都很顺利,直到我开始使用这个身份验证系统。
如果你转到以下网址,并转到密码哈希块(代码)。
你会看到: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;
}
问题是当我运行它时,是否在该行上出现致命错误:
致命错误:第29行的/Users/myUser/Sites/cake/app/Model/User.php中找不到“BlowfishPasswordHasher”类
这是一条线(确切地说):
$passwordHasher = new BlowfishPasswordHasher();
为什么不看到该文件?
在我的PHPStorm IDE中,当我点击它并点击它时,它会转到位于以下位置的正确文件:
/Users/myUser/Sites/cake/lib/Cake/Controller/Component/Auth/BlowfishPasswordHasher.php
其他人有此问题吗?
提前致谢
答案 0 :(得分:1)
在User Model
App::uses('BlowfishPasswordHasher', 'Controller/Component/Auth');
class User extends AppModel {
....
}
注意:BlowfishPasswordHasher使用比SimplePasswordHasher(sha1)更强的散列算法(bcrypt),并为每个用户提供盐。从CakePHP 3.0版起,SimplePasswordHasher将被删除