Pareces nuevo por aquí. Si quieres participar, ¡pulsa uno de estos botones!
Hola.
Estoy viendo como implementar un sistema de login muy simple, para saber como manejar las sesiones en kumbiaphp.
Resulta que estoy muy acostrumbrado a usar variables de sesion para tener persistencia, ejemplo podria tener un sistema donde hay que hacer login para entrar a ciertas paginas que requieren validacion, pero ademas al hacer login, por ejemplo podria cargar un array con una serie de datos del usuario que esta haciendo login, que posteriormente en otras partes del sistema are uso de estos mismos datos, para ello simplemente creaba una o mas variables de sesion y las usaba sin mas.
En kumbiaphp necesito un poco de orientacion, sobre como crear una sesion, crear variables, validar que se haya echo login y finalmente como destruir una sesion al hacer logout.
Soy completamente nuevo en este concepto de frameworks, pero la manera que se me ocurre es que en cada controlador que requiera de validacion meta el codigo necesario en su correspondiente accion index y redireccione al controlador login en caso de no estar logueado. cualquier idea es buena.
la cuestiones son entonces:
primeramente ¿es correcto hacer uso de las funciones nativas de php para el manejo de sesiones? en caso afirmativo las siguientes cuestiones no necesito saberlas, ya que se manejar bien dichas funciones, pero me inquieta, pasar por encima del framework y cuando que la idea es hacer uso de este, de lo contrario vuelvo a lo que hacia antes (codigo espagueti XD).
¿como crear sesiones y variables de sesion?
¿como validar sesiones y acceder a las variables de sesion en los controladores?
¿como destruir las sesiones?
Saludos y gracias por su valiosa ayuda
Comentarios
manual para la beta1
Para la parte de los permisos que necesita para sus aplicaciones le recomiendo que lea un poco sobre Listas de control de acceso (ACL) lo cual le resultara muy útil y practico...
En la versión beta2 puede emplear el ACL como en ese ejemplo
Espero que la información le sea útil
Saludos!!
Muchas gracias, por supuesto que es muy útil esta información.
Saludos.
Hola de nuevo.
Pues me parecio perfecta la solucion por ACL, solo que segui el tuto de ACL configurado a traves de un archivo ini que me gusto mucho por su elegancia.
cree la clase MyAcl como se menciona ahi en app/libs/ y tambien modifique el appcontroller.php
solo que para agregar por defecto el rol de visitante tengo el siguiente codigo
if(Auth::is_valid()){
$privilegio = Auth::get('rol');
}else{
$privilegio = 'visitante';
}
esto me permite acceder al index principal que es localhost/libros/ sin haber echo login
pero cuando entro a localhost/libros/menus/create que se supone solo entraran usuarios y administradores, me manda el error
KumbiaException: Template no_permiso no encontrado (0)
En el archivo G:\xampp\htdocs\Libros\core\kumbia\kumbia_view.php en la línea: 232
estoy usando la beta2
y el archivo donde estan los roles (app/config/privilegios.ini) se encuentra asi:
[roles] ; tipos de usuario que exisitirán en la aplicacion
visitante = null
usuario = visitante
administrador = visitante,usuario
; a partir de aca se definiran los privilegios por cada rol
[visitante]
index = *
menus = index
[usuario] ;rol usuario
index = * ;puede entrar al controlador index y a todas sus vistas
menus = index,create,del,edit ;puede entrar al controlador menu y ver las vistas index,create,del y edit
[administrador] ;rol administrador
; si la categoria del rol no tiene valores, se le dan todos los permisos por defecto
; aqui se definen los templates a usar por cada rol que se haya creado
[templates]
visitante = default
usuario = default
administrador = default
se supone que al entrar en localhost/menus/create debe marcar acceso denegado y no una excepcion
no se que hice mal, me pueden ayudar?
gracias
AHH!! otro despiste mio, resulto muy sutil el error mio.
pasa que estoy usando eclipse y cree el archivo no_permiso.phtml en los templates como archivo de texto, pero despues lo volvi a crear como archivo php (obviamente con el nombre no_permiso.phtml) y ya que eclipse le agrega la etiqueta automaticamente <php> pues ese era el problema.