CLR: .Net / Mono / Boo / Otros CLR > ASP .NET

 Privilegios De Cada Control De Un Form

(1/2) > >>

lencho:
Tengo en mi base de datos una tabla con todos mis controles y un campo Estado , el cual tiene 1 si tiene permiso y 2 si no tiene permiso.

Alguien tiene alguna idea de como se hace para que en cada formulario se active o desactiven los controles segun su privilegio en la base de datos ???
Asi como tambien se cargue su idioma segun su idioma que esta guardado en otra tabla ???.

Lo tengo que hacer por codigo, o existe alguna herramienta que me permita hacer eso.
Estoy trabajando en VS .NET 2005 con C#


BYTE.

sergiotarrillo:
lo puedes hacer por código y/o tambien basado en roles.

El uso de los roles lo hace mas facil, ya que podrias mover o remover usuarios de un rol, sin tocar codigo.

Saludos,

lencho:
y que sos exactamente esos roles ???.


Yo lo que tenia era una estructura de mi BD, con las sgts tablas.
Rol, Opcion.
Donde la relacion es muchos a muchos.
En opcion estan guardados todos mis controles.
En rol estan los roles que tiene mi sistema, como ser: ADM, etc.
y en la tabla resultante, donde cada rol tiene sus propias opciones habilitadas o no habilitadas.


BYTE

sergiotarrillo:
yo sugeriria tres tablas Rol, OpcionRol, Opcion.

Asi un rol puiede tener vraias opciones, o una opcion lo pueden tener varios roles.

Y cada rol es asociado a un usuario.

Saludos,

lencho:

--- Cita de: "sergiotarrillo" --- yo sugeriria tres tablas Rol, OpcionRol, Opcion.

Asi un rol puiede tener vraias opciones, o una opcion lo pueden tener varios roles.

Y cada rol es asociado a un usuario.

Saludos,
--- Fin de la cita ---
en relidad lo tengo asi como sugeris, la relacion es muchos a muchos.


Ahora , lo que hize para cargar los privilegios fue recorrer todos los controles que tiene cada form habilitando o deshabilitando las opciones segun sea su privilegio, asi como tambien cambiando su idioma.

Lo hize utilizando reflection, para no hacer conversiones de controles.

Gracias.

BYTE.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa