Foros del Web » Programando para Internet » PHP » CodeIgniter »

como establezco seguridad para cambiar de una controladora a otra por url

Estas en el tema de como establezco seguridad para cambiar de una controladora a otra por url en el foro de CodeIgniter en Foros del Web. Hola, quiero establecer alguna forma de seguridad de si cuando yo me autentico con un nombre de usuario, password, dependiendo del privilegio me va a ...
  #1 (permalink)  
Antiguo 30/05/2013, 06:28
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Pregunta como establezco seguridad para cambiar de una controladora a otra por url

Hola, quiero establecer alguna forma de seguridad de si cuando yo me autentico con un nombre de usuario, password, dependiendo del privilegio me va a la controladora Cliente, y en la url, pongo manualmente el nombre de otra controladora, por ejemplo Administrador, no me deje acceder a esa controladora y me redireccione a la pagina de autenticacion.
Gracias
  #2 (permalink)  
Antiguo 30/05/2013, 15:34
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: como establezco seguridad para cambiar de una controladora a otra por url

Deberás crear una variable/constante en la que se almacene el privilegio del usuario actual. Si ese usuario NO tiene el poder de acceder a esa sección, pues lo redireccionas a donde desees.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios
  #3 (permalink)  
Antiguo 31/05/2013, 06:32
 
Fecha de Ingreso: abril-2013
Mensajes: 10
Antigüedad: 11 años
Puntos: 0
Pregunta Respuesta: como establezco seguridad para cambiar de una controladora a otra por url

Si, cuando me autentico, creo una variable sesión con el datos del nombre del usuario y privilegio y en el constructor de cada controladora pregunto lo siguiente:

if (!$this->logged_in()) {
//they are not logged in
redirect("seguridad/index"); //for example
}

La funcion logger_in tiene:
function logged_in() { //verificar si el usuario esta autenticado en la sesion
return ($this->session->userdata("id_usuario") && $this->session->userdata("privilegio")) ? true : false;
}

Lo mas que me permite esta forma de seguridad es que cuando yo quiera acceder antes de autenticarme directamente a la controladora que quiero por url, no me deja, y me redirecciona a la controladora Seguridad q es la q me permite auntenticarme.

Pero eso no me resuelve de que una vez que yo me autentique, y me vaya a la controladora Cliente, y ponga en la url Administrador, cuando carga esa controladora administrador me sigue mostrando los datos del mismo usuario que se registro incluso como privilegio cliente. Cuando cambio de controladora por la url no se me borra los datos de sesion del usuario.
  #4 (permalink)  
Antiguo 31/05/2013, 16:53
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: como establezco seguridad para cambiar de una controladora a otra por url

Deberías de usar sólo $this->session->userdata( 'privilegio' ) para comprobar si puede acceder a esa zona y no como lo estás haciendo (que en parte está bien), ya que sólo devuelve el TRUE y eso permite TODO.
__________________
Freelance Developer — www.rubenmartin.me PHP, SQL, Wordpress, Prestashop, Codeigniter, Laravel
RegaloConsolas — www.regaloconsolas.com Sorteo juegos, consolas y accesorios

Etiquetas: controladora, seguridad, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:08.