Я новичок в торте php.Я использую CakePHP 3.6.2 в Linux Ubuntu.Я использую компонент авторизации CakePHP.В то время как я даю правильные учетные данные, он перенаправляет обратно на страницу входа, в противном случае появляется сообщение об ошибке «неверное имя пользователя и пароль».Я отлаживаю и проверяю детали, в то время как я даю правильные учетные данные.Он устанавливает "$ this-> Auth-> setUser ($ user);"правильно.Но после перенаправления "вернуть $ this-> redirect ($ this-> Auth-> redirectUrl ());"$ this-> Auth-> User () имеет значение Null и перенаправляет обратно на страницу входа.
Мой код
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" работают нормально.Но внутри этого проекта только сессия не работает.