Restringir acceso a ciertas funcioes con Codeigniter

alexsanro

Hola buenas, ando liado con codeigniter estos días a mas no poder y como es algo relativamente nuevo para mi ando un poco perdido. Os pongo el caso, ando desarrollando una web de tienda, en la cual tenemos unos usuarios. Ahora bien un usuario nunca podrá modificar sus datos a menos que este logeado, pero claro, si yo desde la url llamo a la función de la clase puede acceder, y la verdad, se que se puede restringir diciéndole dentro de la función si no esta logeado me saque error y punto, pero no se si esto llega a ser lo mas optimo.

Como dato, adjunto que a la hora de crear un nuevo usuario o modificar un usuario los tengo introducidos dentro de la misma clase.

Resumen: Quiero restringir el acceso a funciones de clase usando codeigniter, a menos que esa persona este logeada.

X-Crim

no te basta con el control de sesiones? xD yo ni enseño el mensaje de error, lo rediriges al home y a tomar por culo.

1 respuesta
alexsanro

#2 La cosa es que no se si lo veo correcto insertar un if(session=true){//hago lo que tiene que hacer la funcion} else{ return home}

Así un poco chapucero.. y meter esto en cada otra funcion que me sea necesaría lo mismo.

1 respuesta
eXtreM3

#3 en cada controlador que sea necesario, checkea si existe la sesión. Si no existe lo sacas a la página de login, sin más.

1 respuesta
alexsanro

#4 No si eso fue lo que pensé primero, pero como en el controlador tengo uno que si y otro que no, al final lo controle en cada método de ese controlador necesario.

1 respuesta
ZaO

#5 Puedes utilizar el componente de symfony para la autenticacion y autorizacion de los usuario en tu aplicacion de forma centralizada.

https://github.com/symfony/security

doc español: http://librosweb.es/libro/symfony_2_x/capitulo_13.html

Usuarios habituales

  • ZaO
  • alexsanro
  • eXtreM3
  • X-Crim