como manejar Sesiones

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

  • Hola
    Para lo que requiere kumbiaphp facilita totalmente las cosas ¿que versión esta usando? la recomendada ahora es la beta2

    Aquí tengo un par de ejemplos prácticos de como hacer un login

    En el manual encuentra las funciones que necesita y ejemplos de como emplearlas
    manual para la beta1 
    manual para la beta2

    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.

  • edited agosto 2012

    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.

    :)

  • que bueno que encontró ese error
    me alegra sus avances
    Saludos desde Colombia
Sign In or Register to comment.