Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Menu y privilegios de usuarios (https://www.clubdelphi.com/foros/showthread.php?t=34967)

santiago14 27-08-2006 03:18:37

Menu y privilegios de usuarios
 
Buenas foro, los saludo una vez mas. Necesito, si es posible, despejen mi duda respecto de lo siguiente:
Tengo un menu en una ventana, supongamos la principal, uso Firebird 1.5. la base de datos tiene, entre otras cosas, dos roles definidos: operadores, administrativos, he definido también los usuarios: usu01, usu02; usu01 está en administrativos y usu02 está operadores.
Lo que quiero lograr es: cuando ingrese con un usuario, supongamos usu01, aparezcan en el menú solamente las opciones que le corresponden a los administrativos y cuando ingrese como usu02 las opciones que le corresponden a los operadores. Imagino que esto se puede lograr. Desde ya agradezco las buenas ideas y las sugerencias constructivas.
Gracias.

Lepe 27-08-2006 10:13:30

Si los menús los tienes creados en tiempo de diseño, añádele un número en el Tag.

A cada grupo de usuarios, asígnale un código
Código:

codigo  tipo usuario
  1          administradores
  2          operadores

al menú mnuGestionDeUsuarios le pones en el tag el nº 1 (solo administradores podrán verlo)

Ahora, cuando hagas el login, solo tienes que recorrer todos los elementos de menú, si su Tag es <= que el código del grupo de usuarios, lo haces visible, en caso contrario, le pones visible a false al menuItem.

Si un usuario puede estar en varios grupos, al tiempo de buscar el código de ese usuario, unes la tabla de grupos con usuarios y pides su código más pequeño:
Código SQL [-]
select min(codigoGrupo) from grupos inner join usuarios
where usuario.nombre = 'usu01';

Para recorrer todos los menús bastaría 1 rutina principal y 1 rutina recursiva. En los foros creo que hay ejemplos.


La Otra opción es asignar en la base de datos, permisos a los usuarios y dejar los menús visibles, en ese caso, cuando un usuario haga clic en una opcion de menú, saldrá un mensaje (excepción de la base de datos) indicando que no tiene permisos suficientes para acceder.

Saludos y espero te sirva.

santiago14 27-08-2006 16:57:53

Cita:

Empezado por Lepe
La Otra opción es asignar en la base de datos, permisos a los usuarios y dejar los menús visibles, en ese caso, cuando un usuario haga clic en una opcion de menú, saldrá un mensaje (excepción de la base de datos) indicando que no tiene permisos suficientes para acceder.

Esto es justamente lo que tengo, permisos en las tablas de la base de datos a cada grupo (rol). Quiero lograr que mis menúes se modifiquen de acuerdo al usuario que ingresa y en lo posible un poco mas de flexibilidad. ¿Será esto posible? Gracias por tu ayuda.


La franja horaria es GMT +2. Ahora son las 17:50:03.

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