Seguridad

edited octubre 2007 in Dudas/Problemas
hola soy nuevo en php y estoy tratando de poner seguridad a mis páginas. Quisiera que me ayudaran con su experiencia pues , mi problema radica en que (según entendi) cada acción de un controlador cuando la rendereo me va a mostrar un vista nueva, hice un metodo (loggeg()) que me dice si el usuario está auntenticado en el sistema y si no lo redireccione para que se autentique. Eso trabaja bien pero solo le hice el llamdo en el index de mi controller pensando que puesto ahi me serviria, pero cuando accedo a una accion por la url accedo a ella aunque no este registrado lo que hice fue en cada accion preguntar primero por la autenticación antes de empezar la logica de mi función. Quisiera ver si existe una forma de hacer esto lo mas general posible para separ mi logica de la seguridad. Intente ponerla en ApplicationControllerBase pero igual tuve que preguntar por el permiso.

Comentarios

  • Kumbia maneja un metodo que se llama before_filter() este metodo esta en cada controller aqui puedes evaluar si la session existe en caso que no exista simplemente lo redirecciona para que se autentique...
  • edited 10:32
    Hola deivinson muchas gracias por tu sugerencia eso me resolvio el problema pero yo lo que quiero es hacerlo lo mas global posible. A ver quiero tarabajar la seguridad de forma tal que no tenga que preocuparme por ella entoda la aplicacion y cada vez que tenga que hacer un nuevo controller no tener que codificar el metodo before_filter

    gracias de nuevo
  • Puedes Trabajar con con ACL (Lista de Control de Acceso) http://en.wikipedia.org/wiki/Access_control_list Kumbia lo tiene...
  • edited 10:32
    Otra solucion es que crees un controlador base, digamos SeguridadController, con el metodo de seguridad implementado, y utilizandolo en before_filter.

    Luego heredas tus controladores apartir de este.

    Claro esta que debes heredar el controlador que posea la accion para registrarse de ApplicationController, de lo contrario, el de seguridad no dejara efectuar ninguna operacion.

    Saludos
Sign In or Register to comment.