Ver Mensaje Individual
  #10 (permalink)  
Antiguo 06/01/2015, 15:33
jordanvicente_21
 
Fecha de Ingreso: octubre-2013
Mensajes: 7
Antigüedad: 11 años, 2 meses
Puntos: 0
Respuesta: Crear sesiones de usuarios en VB .NET

Cita:
Iniciado por mvazquez Ver Mensaje
Ok, bien, lo que yo tengo es lo siguiente; Tablas

tbl_Menu
MenuID
Nombre
Desccripcion
Activo
En esta tabla tengo dados de alta mis opciones Padre de menú, por ejemplo, Procesos, Herramientas, etc., etc., tu das de alta lo que necesites, el campo MenuID es el Pimary Key

tbl_Opciones
MenuID
OptionID
Nombre
Descripcion
Activo
En esta tabla tengo dado de alta las opciones Hijo del menú, entonces, por ejemplo el menú Procesos tiene dado de alta, Facturas, Remisiones, etc., etc, el campo OptionID es el Pimary Key y
MenuID es el Foreing Key

tbl_Accesos
UserID
MenuID
OptionID
Activo
Y en esta tabla tengo dados de alta los roles por usuario, donde UserID es el nombre de usuario “mvazquez”, y MenuID es el ID del menú al que tendrá acceso y OptionID es la opción el menú al que tendrá acceso.

Entonces ya con este creas los roles por usuario y cuando crees el menú lo crearas en base a la tabla tbl_Accesos

Primero lees los todos padres:
SELECT MenuID, Nombre
FROM tbl_Modulos (NoLock)
ORDER BY intModulo

Ya que tengas a los padres haces un for para que los reccorras y vallas a la base de datos y te traigas las opciones Hijo de cada uno de los padres a los que tenga aceeso el usuario.


SELECT UserID, MenuID, OptionID
INTO #Accesos
FROM tbl_SegAccess
WHERE UserID = @Usuario

SELECT op.MenuID, op.OptionID, op.Name
FROM tbl_SegOptions op
INNER JOIN #Accesos ac ON op.MenuID = ac.MenuID AND op.OptionID = ac.OptionID
WHERE op.MenuID = @MenuID

Y de ese modo vas creando tu menu por usuario, si tienes dudas contactame a mi correo.

Espero que te sea util, me tarde un buen escribiendo, ufff hasta me canse jaja

PD: Si necesitas el código lo tengo en C#
Me puedes ayudar con el codigo en C# de este proceso me seria de gran ayuda ya que tengo que asignarle permisos a mis usuarios de la aplicacion. mi correo es el siguiente [email protected]
Te estaria bastante agradecido si me apoyas con esta consulta.