26/07/2011, 13:42
|
| | | Fecha de Ingreso: octubre-2004 Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 20 años Puntos: 8 | |
Respuesta: Crear sesiones de usuarios en VB .NET 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# |