现在我的身份验证遇到了麻烦。我有一个简单的用户登录,我总是得到一个错误的信息用户名或密码是假的。 我不知道为什么。 :(
我在cakephp 3.x的官方教程附近工作。 所以这是我的AppController代码:
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
$this->loadComponent('Flash');
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'fields' => [
'username' => 'mail',
'password' => 'password'
]
]
],
'loginAction' => [
'controller' => 'Users',
'action' => 'login'
]
]);
$this->Auth->allow(['display']);
}
这是UsersController的代码:
public function login(){
if($this->request->is('post')){
$user = $this->Auth->identify();
if($user){
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
$this->Flash->error('Name or Password is wrong');
}
}
以下是我的User.php(实体)中的代码:
protected function _setPassword($value){
$hasher = new DefaultPasswordHasher();
return $hasher->hash($value);
}
这就是我对此的看法:
<h1>Login</h1>
<?= $this->Form->create() ?>
<?= $this->Form->input('email') ?>
<?= $this->Form->input('password') ?>
<?= $this->Form->button('Login') ?>
<?= $this->Form->end() ?>
这是我第一次在这里发布和第一次使用CakePHP 3.0,所以请帮助我。 :)
请原谅我更糟糕的英语。 ^^