Autor Tema: Error en login de Preinscripcion 3.11  (Leído 609 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Sergio Espínola

  • Moderador Global
  • *****
  • Mensajes: 869
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Sergio Espínola
  • Sistema: SIU-Guarani
Re:Error en login de Preinscripcion 3.11
« Respuesta #30 : octubre 29, 2020, 09:55:23 pm »
Hola

Los permisos rwx-wx-wt  root, significa que el único que puede leer en esa carpeta es root, por lo tanto seguramente apache puede estar escribiendo el archivo pero no lo puede leer para recuperar la sesión.

Deben darle permisos a la carpeta para que pueda leer apache, suponiendo que www-data es el usuario con el cual se ejecuta apache deben correr

Código: [Seleccionar]
$ sudo chown root:www-data /var/lib/php/sessions -R
$ sudo chmod 775 /var/lib/php/sessions -R

Prueben de esa manera, si sigue el error, envien el resultado de ejecutar el comando

Código: [Seleccionar]
$ ls -la /var/lib/php/sessions
Saludos!
2

javierluna261@gmail.com

  • Jr. Member
  • **
  • Mensajes: 90
    • Ver Perfil
    • Email
  • Institución: IMES
  • Nombre y apellido: Javier Luna
  • Sistema: SIU Guarani
  • Teléfono laboral: 0376 4446619
  • Utilizo algun sistéma del SIU: Sí
Re:Error en login de Preinscripcion 3.11
« Respuesta #31 : octubre 30, 2020, 09:59:08 am »
El problema para loguearse continua a pesar de los permisos otorgados, el resultado del comando ls -la /var/lib/php/sessions es:

root@debian-template:~# ls -la /var/lib/php/sessions
total 128
drwxrwxr-x 2 root     www-data 40960 oct 30 12:41 .
drwxr-xr-x 4 root     root      4096 sep 28  2018 ..
-rw------- 1 www-data www-data    33 oct 30 12:28 sess_19ai96so3dh5sknp28mhkpjd86
-rw------- 1 www-data www-data    32 oct 30 12:28 sess_209dol9ghf6tk1uecgr8535fh0
-rw------- 1 www-data www-data    21 oct 30 12:27 sess_2nmsiebuu3p1qh15paa9bt9g4n
-rw------- 1 www-data www-data    33 oct 30 12:24 sess_3a4sk7bhnkql3anjr8p95qjquo
-rw------- 1 www-data www-data    32 oct 30 12:41 sess_3g7goj9ou09115966e968g7vg9
-rw------- 1 www-data www-data    33 oct 30 12:28 sess_3lmpkhvp1jiq5ndd2vkmrrdvgi
-rw------- 1 www-data www-data    32 oct 30 12:26 sess_44gfck7cql7v83hp99us8o7as7
-rw------- 1 www-data www-data    21 oct 30 12:27 sess_47l8r6jo7gquie7tkr000h3hva
-rw------- 1 www-data www-data    33 oct 30 12:26 sess_4p7t17acidvvh03j1slslim4m7
-rw------- 1 www-data www-data    33 oct 30 12:36 sess_5r08s90uo43j8locuj2e3jrno2
-rw------- 1 www-data www-data    33 oct 30 12:27 sess_62a56t1giodqvt01sqslj812eg
-rw------- 1 www-data www-data    33 oct 30 12:28 sess_7hna9u4vicd47hprs0ha9epgm3
-rw------- 1 www-data www-data    33 oct 30 12:41 sess_eog4o23cidhj10nchph0oc7kfc
-rw------- 1 www-data www-data    33 oct 30 12:36 sess_fk5jgidnuikj128958bktbs3oj
-rw------- 1 www-data www-data    80 oct 30 12:36 sess_gknao2dmccn7abof6fuqoufnur
-rw------- 1 www-data www-data   230 oct 30 12:27 sess_i0s24nfp3mhebra9g1cchi8cju
-rw------- 1 www-data www-data    33 oct 30 12:34 sess_maj7cdnvsbt72g0naf1mc7k3gh
-rw------- 1 www-data www-data    33 oct 30 12:27 sess_pqjj290afko0iq4jloeacovt2q
-rw------- 1 www-data www-data    33 oct 30 12:27 sess_psiar5k0ch96uj657snrbee3q3
-rw------- 1 www-data www-data    33 oct 30 12:33 sess_psnklrnn7b51t413sm6q8psb9t
-rw------- 1 www-data www-data    33 oct 30 12:24 sess_qqq9r15pr6fouph14kqvcstgnc


Te paso una captura del msj que les muestra a los usuarios luego de cliquear en el link que reciben en su correo para activar la cuenta.

y la url sigue cambiando cuando intentan loguearse. Pasa de http://138.117.79.62/preinscrip/imes311/ a http://138.117.79.62/preinscrip/imes311/acceso/login?ref=http://138.117.79.62/preinscrip/imes311/censo

Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 1456
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: G3W2
Re:Error en login de Preinscripcion 3.11
« Respuesta #32 : octubre 30, 2020, 04:18:04 pm »
Hola Javier,

El error "Este link no es válido. Puede que tu cuenta ya se encuentre activada o que lo hayas copiado mal del mail que te enviamos." se puede llegar a dar porque copiaron mal la URL que les llega por email. Dicha URL contiene un query string con un TOKEN. Dicho TOKEN se busca con la siguiente query:

Código: [Seleccionar]
SELECT
id_preinscripcion,
usuario,
email_valido
FROM
sga_preinscripcion
WHERE
codigo_validacion = <TOKEN>

Dicha query al no devolver datos da ese error. En los logs debería decir "TOKEN inexistente".

saludos.
2

Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 1456
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: G3W2
Re:Error en login de Preinscripcion 3.11
« Respuesta #33 : octubre 31, 2020, 08:37:50 pm »
Hola Javier,

Con respecto al problema al intentar logearte, el punto clave donde hace el login es en la función autenticar de la clase vendor/siu/chulupi-framework/src/SIU/Chulupi/acceso/LoginManager.php, especialmente las variables $session y $auth.

Te pediría que agregues lo siguiente para que guarde mas datos en los logs:

1) En la función __construct de la clase vendor/siu/chulupi-framework/src/SIU/Chulupi/nucleo/sesion.php agrega:
Código: [Seleccionar]
    function __construct()
    {
klog2("session_name", $this->get_session_name());
klog2("cookie_path", $this->get_cookie_path());
klog2("cookie_domain", $this->get_cookie_domain());
..............................
    }

2) En la función get_auth_provider de la clase vendor/siu/chulupi-framework/src/SIU/Chulupi/acceso/LoginManager.php agrega:

Código: [Seleccionar]
protected function get_auth_provider(sesion $session)
{
..............................
klog2("auth_type", $auth_type);
return $this->fuentes->instanciar_fuente($auth_type);
}

Con eso podremos ver en los logs si hay diferencias en los nombres de la sesión de una petición a otra, etc.

saludos.
8

javierluna261@gmail.com

  • Jr. Member
  • **
  • Mensajes: 90
    • Ver Perfil
    • Email
  • Institución: IMES
  • Nombre y apellido: Javier Luna
  • Sistema: SIU Guarani
  • Teléfono laboral: 0376 4446619
  • Utilizo algun sistéma del SIU: Sí
Re:Error en login de Preinscripcion 3.11
« Respuesta #34 : noviembre 02, 2020, 08:28:08 am »
Hola Javier,

El error "Este link no es válido. Puede que tu cuenta ya se encuentre activada o que lo hayas copiado mal del mail que te enviamos." se puede llegar a dar porque copiaron mal la URL que les llega por email. Dicha URL contiene un query string con un TOKEN. Dicho TOKEN se busca con la siguiente query:

Código: [Seleccionar]
SELECT
id_preinscripcion,
usuario,
email_valido
FROM
sga_preinscripcion
WHERE
codigo_validacion = <TOKEN>

Dicha query al no devolver datos da ese error. En los logs debería decir "TOKEN inexistente".

saludos.
2

Hola Leonardo

No copió el link, lo cliqueo desde el email que le llegó, no cambió nada, se lo hice yo con el email de un compañero para probar. El problema se da porque cambia la url siempre que uno intenta loguearse, ya sea la primera vez entrando por el link de registro o luego con poniendo el email y contraseña. Eso era lo que quería mostrarles con la imagen.

javierluna261@gmail.com

  • Jr. Member
  • **
  • Mensajes: 90
    • Ver Perfil
    • Email
  • Institución: IMES
  • Nombre y apellido: Javier Luna
  • Sistema: SIU Guarani
  • Teléfono laboral: 0376 4446619
  • Utilizo algun sistéma del SIU: Sí
Re:Error en login de Preinscripcion 3.11
« Respuesta #35 : noviembre 02, 2020, 08:52:28 am »

1) En la función __construct de la clase vendor/siu/chulupi-framework/src/SIU/Chulupi/nucleo/sesion.php agrega:
Código: [Seleccionar]
    function __construct()
    {
klog2("session_name", $this->get_session_name());
klog2("cookie_path", $this->get_cookie_path());
klog2("cookie_domain", $this->get_cookie_domain());
..............................
    }

2) En la función get_auth_provider de la clase vendor/siu/chulupi-framework/src/SIU/Chulupi/acceso/LoginManager.php agrega:

Código: [Seleccionar]
protected function get_auth_provider(sesion $session)
{
..............................
klog2("auth_type", $auth_type);
return $this->fuentes->instanciar_fuente($auth_type);
}

8

Hola Leonardo

1) Agregué esas  3 líneas en la función construct quedando así la función:

function __construct()
    {
      session_name($this->get_session_name());
      $secure_cookie = (kernel::proyecto()->get_ssl_alcance() == ruteador::SSL_ALCANCE_ALL);
      session_set_cookie_params(0, $this->get_cookie_path(), $this->get_cookie_domain(), $secure_cookie, true);
           session_start();
           klog2("session_name", $this->get_session_name());
      klog2("cookie_path", $this->get_cookie_path());
      klog2("cookie_domain", $this->get_cookie_domain());   
    }

2) En la función get_auth_provider, agregue solo la primer linea porque la segunda ya estaba, quedando asi la funcion:

protected function get_auth_provider(sesion $session)
   {
      $auth_type = $session->get_con_default('__kernel_auth', null);
      if ($auth_type == null && isset($_GET['auth'])) {
         $auth_type = $_GET['auth'];
      }
      klog2("auth_type", $auth_type);      
      return $this->fuentes->instanciar_fuente($auth_type);
   }

Ahora hacemos algunos intentos de loguin y luego te paso los logs?

Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 1456
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: G3W2
Re:Error en login de Preinscripcion 3.11
« Respuesta #36 : noviembre 02, 2020, 10:16:01 am »
Hola Javier, perfecto!!!

Deberías validar que en todos los logs de las diferentes peticiones no cambie el "session_name", por su configuración todos los logs deberían decir:

Código: [Seleccionar]
--  session_name  --------------------------------------------------------------

siu_sess_preinscrip/imes311_alumno

--  cookie_path  ---------------------------------------------------------------

/preinscrip/imes311

--  cookie_domain  -------------------------------------------------------------

138.117.79.62

También agrega lo siguiente a los logs, en la función instanciar_persona de la clase vendor/siu/chulupi-framework/src/SIU/Chulupi/acceso/LoginManager.php:

Código: [Seleccionar]
protected function instanciar_persona(sesion $session, AuthenticationProvider $auth = null)
{
$autenticado = $session->abierta();
klog2("=== autenticado ===", $autenticado); // <==> Agregá esto

if($autenticado = $session->abierta()){
$id_persona = $session->get_id_persona();
$persona = $this->get_clase_persona($id_persona);
kernel::set_persona($persona);
}else {
$persona = $this->get_clase_persona(null);
kernel::set_persona($persona);
}

klog2("=== persona ===", print_r($persona, true));// <==> y esto

if($auth != null){
$auth->evt_persona_instanciada($persona, $autenticado);
}

return $persona;
}

saludos.
2

Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 1456
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: G3W2
Re:Error en login de Preinscripcion 3.11
« Respuesta #37 : noviembre 02, 2020, 10:53:10 am »
Hola Javier,

Encontré un post que puede llegar a servir: https://stackoverflow.com/questions/17242346/php-session-lost-after-redirect

¿vos podes pasarnos un phpinfo() de tu servidor para poder comparar tu configuración con la nuestra?

También te pediría que en la función __construct de la clase vendor/siu/chulupi-framework/src/SIU/Chulupi/nucleo/sesion.php agregues estos klog2:
Código: [Seleccionar]
    function __construct()
    {
session_name($this->get_session_name());
$secure_cookie = (kernel::proyecto()->get_ssl_alcance() == ruteador::SSL_ALCANCE_ALL);
session_set_cookie_params(0, $this->get_cookie_path(), $this->get_cookie_domain(), $secure_cookie, true);
        session_start();

klog2("=== session_id ===", session_id());
klog2("=== session_name ===", session_name());
klog2("=== session_save_path ===", session_save_path());

    }

saludos.
2

javierluna261@gmail.com

  • Jr. Member
  • **
  • Mensajes: 90
    • Ver Perfil
    • Email
  • Institución: IMES
  • Nombre y apellido: Javier Luna
  • Sistema: SIU Guarani
  • Teléfono laboral: 0376 4446619
  • Utilizo algun sistéma del SIU: Sí
Re:Error en login de Preinscripcion 3.11
« Respuesta #38 : noviembre 03, 2020, 09:18:31 am »
Hola Leonardo

Ésta era mi función antes de agregarle las 2 líneas que me pediste:

Código: [Seleccionar]
protected function instanciar_persona(sesion $session, AuthenticationProvider $auth = null)
        {
                if($autenticado = $session->abierta()){
                        $id_persona = $session->get_id_persona();
                        $persona = $this->get_clase_persona($id_persona);
                        kernel::set_persona($persona);
                }else {
                        $persona = $this->get_clase_persona(null);
                        kernel::set_persona($persona);
                }
                if($auth != null){
                        $auth->evt_persona_instanciada($persona, $autenticado);
                }
                return $persona;
        }

Como te darás cuenta también le faltaba la primer línea: $autenticado = $session->abierta();
Yo se la agregué igualmente. Vos sacaste ese código de la versión 3.11.0 de Preinscripcion? De ser así porque a mi función le faltaría esa línea si tengo la versión 3.11 instalada?



Leonel Leonardis

  • Moderador Global
  • *****
  • Mensajes: 1456
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: G3W2
Re:Error en login de Preinscripcion 3.11
« Respuesta #39 : noviembre 03, 2020, 09:39:39 am »
Hola Javier,

No, yo lo tengo igual que vos, esas lineas te decía que las agregues para poder loggear mas información.

No te olvides de pasarme el "phpinfo" para poder observar si hay algo extraño.

saludos.
2

javierluna261@gmail.com

  • Jr. Member
  • **
  • Mensajes: 90
    • Ver Perfil
    • Email
  • Institución: IMES
  • Nombre y apellido: Javier Luna
  • Sistema: SIU Guarani
  • Teléfono laboral: 0376 4446619
  • Utilizo algun sistéma del SIU: Sí
Re:Error en login de Preinscripcion 3.11
« Respuesta #40 : noviembre 03, 2020, 09:56:36 am »
Hola Javier,

No, yo lo tengo igual que vos, esas lineas te decía que las agregues para poder loggear mas información.

No te olvides de pasarme el "phpinfo" para poder observar si hay algo extraño.

saludos.
2

Te paso la url para que lo veas vos mismo: http://138.117.79.62/preinscrip/imes311/

y adjunto los logs.

Gabriel Pereyra

  • General
  • *
  • Mensajes: 5
    • Ver Perfil
    • Email
Re:Error en login de Preinscripcion 3.11
« Respuesta #41 : noviembre 03, 2020, 10:03:08 am »
Buen día Javier!

Estuve revisando y encontré una posible solución:

En el archivo de configuracion de php para apache2 (/etc/php/7.3/apache2/php.ini) hay una variable llamada sessions.auto_start. Si la misma está con un valor de 0, cambialo a 1, corré en la terminal "service apache2 reload" y luego "service apache2 restart", e intentá loguearte devuelta.

Notificanos si esto soluciona tu problema.

Saludos!

20
« Última Modificación: noviembre 03, 2020, 10:24:19 am por Gabriel Pereyra »

javierluna261@gmail.com

  • Jr. Member
  • **
  • Mensajes: 90
    • Ver Perfil
    • Email
  • Institución: IMES
  • Nombre y apellido: Javier Luna
  • Sistema: SIU Guarani
  • Teléfono laboral: 0376 4446619
  • Utilizo algun sistéma del SIU: Sí
Re:Error en login de Preinscripcion 3.11
« Respuesta #42 : noviembre 03, 2020, 11:13:49 am »
Solucionado el problema del SIU Preinscripción, logre loguearme con un usuario. Ahora cuando entro al SIU Gestión me dice lo sgte:

Ya existe una sesión abierta, probablemente tenga activado session.auto_start = 1 en el php.ini

Pueden corroborarlo aquí: http://138.117.79.62/guarani/3.15/

javierluna261@gmail.com

  • Jr. Member
  • **
  • Mensajes: 90
    • Ver Perfil
    • Email
  • Institución: IMES
  • Nombre y apellido: Javier Luna
  • Sistema: SIU Guarani
  • Teléfono laboral: 0376 4446619
  • Utilizo algun sistéma del SIU: Sí
Re:Error en login de Preinscripcion 3.11
« Respuesta #43 : noviembre 04, 2020, 07:16:59 am »
Buen día! Como puedo solucionar éste problema?
Cuando el valor está en 0 tengo Siu Gestión pero no Siu Preinscripción y si el valor está en 1 tengo Siu Preinscripción pero no funciona el Siu Gestión

Sergio Espínola

  • Moderador Global
  • *****
  • Mensajes: 869
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Sergio Espínola
  • Sistema: SIU-Guarani
Re:Error en login de Preinscripcion 3.11
« Respuesta #44 : noviembre 04, 2020, 10:42:39 am »
Hola

Teniendo en cuenta el aporte de Milton en las Respuestas #8 y #10 y en la respuesta a otro foro de un error similar en 3w, deberían chequear la versión de php y ver la posibilidad de hacer un downgrade (entendemos que debe ser a una versión anterior a 7.3.19) a ver si soluciona el problema. Mientras tanto estamos revisando la compatibilidad del framework con respecto a esta actualización de PHP

Saludos