cakephp的auth组件有问题 我按照本指南创建了legacypasswordhasher https://book.cakephp.org/3.0/en/controllers/components/authentication.html 我像这样在appcontroller中加载类:
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'passwordHasher' => [
'className' => 'Legacy',
]
]
]
]);
,我已经在src / Auth中创建了legacypasswordhelper类,如下所示:
namespace App\Auth;
use Cake\Auth\AbstractPasswordHasher;
class LegacyPasswordHasher extends AbstractPasswordHasher
{
public function hash($password)
{
return sha1($password);
}
public function check($password, $hashedPassword)
{
return sha1($password) === $hashedPassword;
}
}
?>
但是,如果我以表单登录,则auth组件不会运行legacypassword函数。我在哈希和检查功能中使用调试,但从未显示。 我希望任何人都有解决方案
答案 0 :(得分:0)
好的,我解决了这个问题。 我不知道cake auth仅在您使用cake的表单功能时才有效。 我已经使用正常表格
<form method="post" action="/users/login">
但您确实必须
<?php echo $this->Form->create(); ?>
使用它使遗留功能正常工作