[Php-avanzado] Pregunta sobre logueo de usuarios
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Sab Feb 6 14:18:53 ARST 2010
Hola Lucas,
El vie, 05-02-2010 a las 21:23 -0300, Lucas Nastri escribió:
> Hola gente, les quería consultar como hacen lo siguiente:
>
> Yo tengo una ventana de login, una vez que el usuario se loguea
> (posterior a una validación contra una tabla de la base de datos) debo
> mostrarle las acciones que puede realizar. Cada usuario tiene permisos
> distintos. Algunos pueden acceder a funcionalidades del sistema que
> otros no. Por eso, una vez que el usuario ya se logueó, ¿Cómo haría
> para mostrarle a que partes del sistema puede acceder?, ¿debería tomar
> el id que tiene en la base de datos y por medio de ese id comprobar a
> qué partes puede acceder?.
Lo más cómodo es tomar el perfil del usuario, y pasarlo por un switch
que, según dicho perfil, mostrará unas cosas sí y otras cosas no.
Pero con esto no alcanza, ya que alguien podría ver el URL escrita en
el navegador y volver a escribirla a mano loguaedo con un usuario
distinto.
Cada página debe preguntar por el perfil, y si es válido, mostrarse o
salir (o volver al index,php).
Esconder los URLs no es seguridad!
> Otra cosa ... para comprobar que el usuario sigue estando logueado en
> otra página debería guardar el id de la sesion y manejarme con ese id
> preguntando si existe en cada página?.
Hay varias alternativas...
La más confiables es guardar en la sesión el usr y pass, y en cada
página volverlo a pasar por la función de autentificación, para ver si
en ese momento es un usuario válido o no.
Extra: si además de guardar el usr y pass en la sesión, la función de
validación también guarda el ID del perfil, te ahorrás consultar en la
DB el perfil del usuario para el switch y para ver si tiene acceso o no
a esa página.
> Muchas gracias!.
Por nada!
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado