Problemática: Restringir accesos a un toolStripMenuItem mediante BD

Muy buenas noches, mi nombre es rene, estudio informática, estoy desarrollando una aplicación de visual basic conectada un repositorio de datos de Postgres.

se me ha presentado una problemática sobre el manejo de usuarios-perfil-acciones, ya que no conocía esta forma de restringir una aplicación, la cual explicare a continuación.

mi problemática es la siguiente.

Tengo una tabla usuario

perfiles

acciones

tabla intermedia de acciones_perfiles

al id de usuario le asigno un perfil, en este caso el primero que seria administrador, luego a ese perfil le asigno acciones dentro de mi aplicación, que quedaran almacenadas en la tabla acciones_perfiles.

la función de tener una tabla acciones, es gestionar las restricciones dentro del sistema mediante un perfil, en este caso el administrador puede ver mi menú mantenedores y mi menú equipos y si logeo con mi usuario de perfil despachador solo puedo ver el menú de equipos.

luego de tener esto genero una consulta sql que me busque todas las acciones de un usuario en especifico.

Public Function buscarUsuario(ByVal conectado As String) As DataSet
Dim query As String
Dim c As New Conexión()
query = "Select a.id_accion,a.nombre from acciones as a , perfiles as p, acciones_perfiles as ap, usuarios as u where p.id_perfil = ap.id_perfil and a.id_accion = ap.id_accion And p.id_perfil = u.id_perfil and u.id_usuario = '" + conectado.ToString + "'"
Return c.consulta(query)
End Function

si el parámetro de id_usuario = 1 me arroja las acciones asociadas a su perfil.

en este caso me muestra los mismos datos de la tabla acciones que se menciona con anterioridad.

mi problemática específicamente es , mi primer movimiento es entrar al login, donde ingreso mi usuario y contraseña, al cargar mi formulario principal me deberían aparece el equipos y mantenedores como .visible = false posteriormente en load del formulario principal crear un código donde me busque mediante la consulta las acciones asignadas a ese usuario, en este caso el conectado perfil administrador y cambiar los dos menú a .visible = true.

observación: si no me equivoco debo leer el nombre de la acción e igualar al nombre del menú dentro del formulario y si esto es true cambia a .visible = true

entiendo muy bien la lógica, se que es factible hacerlo con el for each, pero en cuanto a código no se como expresarlo , ya que solo e trabajado con tabla usuario-perfil, donde genero un código que restringe todo la aplica,me serviría mucho un poco de ayuda, ya que es una buena opción de manejar las restricciones de una aplicación mediante perfiles-acciones.

de antemano muchas gracias :)

Añade tu respuesta

Haz clic para o