Acceso a pantallas o ventanas

Buenas
Tengo 3 usuario, técnico, supersivor,
y agente.
Lo que necesita saber es como hago para asignarle los permisos correspondienmtes para que accesen solo a ciertas ventanas, por ejemplo que el técnico aceso solo a la ventana de los registros técnicos, el supervisor solo pueda veer esos registros pero no pueda modificarlos, y agente solo a la ventana de rutas de agentes.
Tienes un ejemplo o alguna sugenerencia de como hacerlo, soy nuevo en la herramienta.
Disculpa por lolargo de la pregunta.
Luis.

2 respuestas

Respuesta
1
Opciones hay muchas y a medida que adquieras experiencia vas a ir armándote un modelo que satisfaga mejor tus requerimientos.
Una opción simple seria que guardes en una variable global el usuario y el grupo al que pertenece y al hacer cada cosa valides el grupo para ver si puede o no acceder a la opción.
Ej:
Si tenés un botón modificar en la primera linea pregunta si el grupo es "supervisor" y si lo es hace return sin permitir cambiar.
Si no tienes modificar pero tienes grabar hace lo mismo ya que no interesa si los cambia en la ventana pero si si los guarda.
En el menu antes de abrir una ventana pregunta por el grupo si no puede mostrale un mensaje, sino abrí la ventana.
Estas cosas se pueden programar en las estándar para evitarte trabajo.
Buenas Aldo.
Disculpa mi, pero no entendí como hacerlo, como le hago.
No tienes un ejemplo más explcativo sobre esto .
Gracias
POR ej:
En el open de la aplicación:
select tipo_usuario into :gs_tipo_usr from usuarios where nom_usuario = :login;
//aca conseguis si es tecnico etc.
----
En el open de la ventana de registros tenicos:
IF gs_tipo_usr = "tecnico" THEN
boton_modificar.enabled = true
ELSE
boton_modificar.enabled = false
END IF
-----
En tu menu:
Cuando selecciona la ventana de servicio tecnico:
IF gs_tipo_usr = "tecnico" THEN
open(ventana)
ELSE
messageBox("", "ud no puede abrir")
END IF
No puedo hacer el ej. más especifico porque no conozco como esta hecho tu sistema
Respuesta
1
Una forma sencilla de controlar el acceso a las ventanas es agregarle a tu tabla de usuario (esta tabla también debe contener las contraseñas de usuarios) un atributo que contenga el tipo de usuario, por ejemplo puedes llamarlo "cargo", ahora bien al momento de que el usuario ingresa al sistema, se debe realizar una consulta sql, que busque la contraseña y el cargo, el cargo debe almacenarse en una variable global y a tiempo de abrir una ventana o ejecutar cualquier acción verificarás el contenido de esa variable global, para saber si la ventana debe abrirse o no.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas