Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con los privilegios de usuarios (https://www.clubdelphi.com/foros/showthread.php?t=77597)

alexissantiago1 10-02-2012 01:57:00

Problema con los privilegios de usuarios
 
Tengo una base de datos en acces y tengo una tabla para guardar los mantenimientos de los formularios que voy haciendo.
Tambien tengo una tabla para los usuarios, otra tabla para los permisos donde guardo el Id de usuario y nombre del formulario .

Para poder dar permisos a los usuarios que registro tengo que consultarlos en la tabla de PERMISOS. Pero necesito una condicion para comparar el usuario que esta logueado, el cual se loguea desde la tabla USUARIOS. Para que busque en la tabla permisos. Los campos de permiso son booleanos.

Para la pantalla de login uso un ADOTable. que busca los textos de dos Edit en la tabla USUARIOS. Pero no se como comparar ese usuario que se logueo en la tabla PERMISOS. Ayudenme con eso.

Caral 10-02-2012 02:14:23

Hola
Tienes un Id de usuario en la tabla permisos.
Coloca este dato en una variable y haz una consulta con un adoquery para ver el nivel de acceso que tiene.
Saludos

alexissantiago1 10-02-2012 19:20:21

Tengo las sieguientes tablas para poder dar los permisos.


TABLA PERMISOS

NOMBRE_FORMULA FK
ID_USUARIO FK
GRAVAR BOOLEANO
MODIFICAR BOOLEANO
ELIMINAR BOOLEANO

en esta tabla voy guardando los usuarios dandole o quitandole privilegios segun los formularios que me interesan que ese usuario HAGA,MODIFIQUE O ELIMINE.



TABLA USUARIOS

ID_USUARIO PK
NOMBRE
CLAVE


TABLA MANTENIMIENTO_FORMULARIO

NOMBRE_FORMULA PK
DESCRIPCCION
MODULO


para el loguin la consulta se hace desde la tabla usuarios.
pero para los permisos debo consultarlos en la tabla permiso donde lo que me interesa buscar es el valor de los campos gravar, modificar o eliminar a ver si ese usuario en XXX formulario tiene el privilegio de hacer lo antes mensionado.

por ejemplo estoy en un formulario para agregar nuevo clientes..... en el boton guardar de ese formulario es donde voy a poner la condicion a ver si ese usuario tiene ese privilejio.

pero no se como consultar el usuario que esta logueado desde la tabla usuarios, en la tabla de permisos.

juanlaplata 12-02-2012 16:54:34

la clave esta al momento exacto despues del log de usuario. es ahi donde deberas rescatar el ID del usuario, y mantenerlo como dice CARAL en una variable. Esta te servira para el query q determina los permisos de dicho usuario.

Código SQL [-]
select  *
from tabla_permisos
where id_usuario = p_id_usuario_log
    and nombre_formula = p_nomb_form

donde p_id_usuario_log seria el id del usuario loqueado y p_nomb_form el formulario al que accede.

saludos.

alexissantiago1 14-02-2012 19:17:09

gracias a los dos por su ayuda... Ya resolvi el problema. de verdad gracias


La franja horaria es GMT +2. Ahora son las 09:51:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi