Autor Tema: Ajustes de de seguridad Modulo Autogestión de Estudiantes  (Leído 52 veces)

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

drojas79

  • Newbie
  • *
  • Mensajes: 6
    • Ver Perfil
    • Email
  • Institución: Universidad Nacional de José C. Paz
  • Nombre y apellido: Damian Rojas
  • Sistema: Siu Guarani
  • Teléfono laboral: 02320 64-9021
  • Utilizo algun sistéma del SIU: Sí
Ajustes de de seguridad Modulo Autogestión de Estudiantes
« : septiembre 08, 2017, 01:24:13 pm »
Estimados. Buenas tardes.

Estamos realizando algunos ajustes de seguridad (módulos de autogestión de estudiantes) y uno de ellos, es que la contraseña se debe cambiar cada ## (## a definir) días.

En modo de prueba hacemos la siguiente pregunta en el controller (REF-CODE) y de acuerdo a la respuesta se lo redirecciona a la página de configuración, donde el estudiantes debe cambiar su contraseña. Esto funciona y bien. Pero para que dicha validación se ejecute en todas las páginas, ¿Donde debería agregar esta línea (REF-CODE), para que lo heredan todos los controllers? ¿Me explico? Desde ya muchas gracias.

REF-CODE
if (kernel::persona()->get_debo_cambiar_clave())
    $this->nuevo_request('configuracion', 'index');

lleonardis

  • Moderador Global
  • *****
  • Mensajes: 628
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: G3W2
Re:Ajustes de de seguridad Modulo Autogestión de Estudiantes
« Respuesta #1 : septiembre 13, 2017, 12:15:57 pm »
Hola Damian,

En 3W existe la clase src/siu/extension_kernel/helper_controlador_g3w2.php, la cual posee el método pre_accion, el mismo ejecuta lo que tiene dentro antes de que se ejecute la acción propiamente dicha, allí dentro podrías poner el control que queres hacer. A modo de referencia:

1) Personalizas la clase src/siu/extension_kernel/helper_controlador_g3w2.php:

src/pers/nombre_pers/extension_kernel/helper_controlador_g3w2.php
Código: [Seleccionar]
<?php
namespace nombre_pers\extension_kernel;

use 
SIU\Chulupi\kernel;
use 
SIU\Chulupi\nucleo\NuevoRequest;

class 
helper_controlador_g3w2 extends \siu\extension_kernel\helper_controlador_g3w2 {

    public function 
pre_accion(){

        
parent::pre_accion();
        
        
// Acá iría el control
       
if (kernel::persona()->get_debo_cambiar_clave()) {
            
$nuevo_request = new NuevoRequest('configuracion''index'false);
            
$nuevo_request->set_mensaje_post_nav("¡Debes cambiar tu contraseña!");
            throw 
$nuevo_request;
       }

    }

}

saludos.
« Última Modificación: septiembre 13, 2017, 12:20:20 pm por lleonardis »

lleonardis

  • Moderador Global
  • *****
  • Mensajes: 628
    • Ver Perfil
  • Institución: SIU
  • Nombre y apellido: Leonel Leonardis
  • Sistema: G3W2
Re:Ajustes de de seguridad Modulo Autogestión de Estudiantes
« Respuesta #2 : septiembre 13, 2017, 12:29:54 pm »
Otra cosa, deberías excluir la operación de Configuración de la redirección, sino se te va a producir un ciclo de redirección infinito, seria mas o menos así:

src/pers/nombre_pers/extension_kernel/helper_controlador_g3w2.php
Código: [Seleccionar]
<?php
namespace nombre_pers\extension_kernel;

use 
SIU\Chulupi\kernel;
use 
SIU\Chulupi\nucleo\NuevoRequest;

class 
helper_controlador_g3w2 extends \siu\extension_kernel\helper_controlador_g3w2 {

    public function 
pre_accion() {

        
parent::pre_accion();
        
        
// Acá iría el control

       
$operacion kernel::ruteador()->get_id_operacion();

       if (
kernel::persona()->get_debo_cambiar_clave() && (!in_array($operacion, array("configuracion""logger""acceso")))) {
            
$nuevo_request = new NuevoRequest('configuracion''index'false);
            
$nuevo_request->set_mensaje_post_nav("¡Debes cambiar tu contraseña!");
            throw 
$nuevo_request;
       }

    }

}

saludos.

 

Comunidad SIU