Ver Mensaje Individual
  #8 (permalink)  
Antiguo 26/07/2011, 13:42
Avatar de mvazquez
mvazquez
 
Fecha de Ingreso: octubre-2004
Ubicación: Monterrey - México
Mensajes: 875
Antigüedad: 20 años, 1 mes
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#
__________________
http://vazquezvega.wordpress.com/
"La paciencia nos da el privilegio de compartir el refrescante fruto de Dios con los demás."