$这 - > Auth->用户();为空

时间:2018-05-17 07:47:11

标签: cakephp

我是蛋糕php的新手。 我在linux ubuntu中使用cakephp 3.6.2。 我使用cakephp auth组件。 虽然我提供了正确的凭据,但它会重定向回登录页面,否则会显示错误消息“无效的用户名和密码”。 我提供正确的凭据时调试并检查详细信息。设置“$ this-> Auth-> setUser($ user);”正确。 但重定向后“返回$ this->重定向($ this-> Auth-> redirectUrl());”  $ this-> Auth-> User()为空,并重定向回登录页面。

我的代码

AppController.php

public function initialize(){   

    $this->loadComponent('RequestHandler');
    $this->loadComponent('Flash');
    $this->loadComponent('Auth', [
        'authenticate' => [
            'Form' => [
               'fields' => ['username' => 'email', 'password' => 'password']
            ]
         ],
         'loginAction' => ['controller' => 'Users', 'action' => 'login']

    ]);}

UserCOntroller.php

public function login()
{
    if ($this->request->is('post')) {
        $user = $this->Auth->identify();
        if ($user) { 
            $this->Auth->setUser($user);
             debug($this->Auth->User()); //contain user details correctly   
             debug($this->redirect($this->Auth->redirectUrl())); // //contain userdetails correctly 
            return $this->redirect($this->Auth->redirectUrl());
        }
        $this->Flash->error(__('Invalid username or password, try again'));
    }
}

public function logout()
{
    return $this->redirect($this->Auth->logout());
}

user.php的

protected function _setPassword($password)
{
    if (strlen($password) > 0) {
        return (new DefaultPasswordHasher)->hash($password);
    }
}

我打印phpinfo()会话已启用。 “var / www / html”下的其他项目正常工作。但是在这个项目中只有会话不起作用。

0 个答案:

没有答案