CakePHP 3.7 - проблема с setUser и сессиями на сервере - PullRequest
0 голосов
/ 28 мая 2019

Проблема в том, что функция setUser в usersController возвращает ноль и не регистрирует пользователя.

Запрос к БД получает пользователя, и я могу видеть поля без проблем.Файл сессии в / tmp / session создается нормально, и если мы изменим конфигурацию на php session, а не cake, то создадим это тоже.

Похоже, сессия была создана, но apache или cake не могут прочитатьчто.

Один и тот же код, в разных версиях OS & php работает нормально.

Может быть связано с некоторыми конкретными разрешениями для пользователей www-data / apache?

Мы работаем с Apache2, php 7.3 и подключаемся к SqlServer.

CODE:

//////////////////////////////////////
AppController.php

ini_set(‘allow_url_fopen’, ‘on’);

$this->loadComponent(‘Auth’, [
‘loginRedirect’ => [ ‘controller’ => ‘/’, ‘action’ => ‘home’],
‘logoutRedirect’ => [ ‘controller’ => ‘/’, ‘action’ => ‘login’],
‘authenticate’ => [
‘Form’ => [
‘fields’ => [‘username’ => ‘email’, ‘password’ => ‘password’],
‘userModel’ => ‘Usuarios’
]
],
‘storage’ => [‘className’ => ‘Session’, ‘key’ => ‘Auth.Usuario’],
‘loginAction’ => [ ‘controller’ => ‘/’, ‘action’ => ‘login’],
‘unauthorizedRedirect’ => $this->referer(),
‘authorize’ => ‘Controller’,
‘authError’ => false,
]);

$this->Auth->__set('sessionKey', 'Auth.Usuario');

///////////////////////////////////////
UsuariosController.php

public function login()
{
if($this->request->is(‘post’)){

    $usuario = $this->Auth->identify();

    if ($usuario) {
        if($this->Auth->setUser($usuario)){
       
       $this->Flash->sPublico(__('Ingresaste a tu cuenta.'));
       return $this->redirect([
           'controller' => 'Pages',
           'action' => 'home'
       ]);
   }else{
    $this->Flash->ePublico(__('No se pudo acceder a la sesion!.'));
   }

else{
$this->Flash->ePublico(__(‘Usuario y/o contraseña incorrectos!.’));
}
}
}

///////////////////////////////////////
$this->Auth->setUser($usuario),is the function that returns false :S

Спасибо!

...