Visual Basic.NET - AYUDA, POR FAVOR

 
Vista:

AYUDA, POR FAVOR

Publicado por Javi VIL (29 intervenciones) el 20/07/2004 17:41:20
Tengo un formulario MDI con una ventana ppal y abro una ventana de validacion de usuarios secundaria, segun su categoria se activan unos botones u otros (menuitem 's) en la ventana ppal y se cierra la ventana secundaria. Alguien ha hecho algo asi o sabe como puedo hacerlo? No consigo que cambien los menuitem de la ventana ppal segun el tipo de usuario que entre en la aplicacion. Ayuda, por favor. MUCHAS GRACIAS
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:AYUDA, POR FAVOR

Publicado por Edgar (1501 intervenciones) el 20/07/2004 18:11:51
Hola

Yo hice eso una vez, pero la solución es un poco complicada, porque lo hice para incorporarlo en unas librerías que estaba creando y estaba buscando su reutilización.

Bueno, la solución fué la siguiente: Crear un componente extensor del menu, aqui tienes la referencia de estos componentes

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconwinformsextenderprovidersample.asp

Al extensor que cree le asigné las funciones GetMenuRole y SetMenuRole que permite recuperar y asignar el rol del usuario que se asocia con el menú.

Los componentes extensores tienen la particularidad de aparentar que se agregarn nuevas propiedades a los controles, en este caso al menu, por lo que al seleccionar un menú en tiempo de diseño verás que aparece las propiedades MenuRole en menuitemX.

Simplemente lo que hago despues es asignar en el evento click del menuitem pregunto si el usuario pertenece al rol que le corresponde al menu, en ese caso, se habilita, algo asi

menuitem.Enabled = System.Threading.Thread.CurrentPrincipal.IsInRole( extensor.GetMenuRole(menuitem) )

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:AYUDA, POR FAVOR

Publicado por Edgar (1501 intervenciones) el 20/07/2004 18:12:56
Hola.. corté en mensaje en dos porque era muy largo.. aqui continuo..

Esto significa que si el usuario tiene asociado el rol que le especificaste en el extensor, se habilitará... Claro que esta solución implica que uses las clases de GenericPrincipal y GenericIdentity

Bueno, esta fué la solución, un poco complicada de entender, pero bastante fácil de aplicar en cualquier proyecto.... Lo otro que puedes hacer es implementar el evento de cada uno de los menues, y dependiendo de los roles del usuario habilitarlos o no.. la solución que te indiqué tiene la ventaja de que solo implementas el evento Click del menú, una vez para todos los menus

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar