Ayuda con diseño: empresas, usuarios, opciones del menú

19/10/2008 - 19:09 por Luisa Goicochea | Informe spam
Hola
Estoy en un proyecto nuevo de diseñar una aplicación. Una parte en que me
toca trabajar es en el diseño de la seguridad del menú de opciones. La
aplicacion maneja varias empresas, opciones y usuarios.
Estas son las ideas lo mas simple posibles, eliminando los detalles:

1)Tendremos las opciones del sistema en una tabla llamada 'Opciones'.
(codigo, nombre.) que nos servira para llenar el menu dinamicamente en la
aplicacion, cada opcion equivale en general a una clase a ejecutar (form).
2)Las empresas del sistema en otra tabla llamada 'Empresas' (codigo, nombre)
3)Los usuarios del sistema en otra llamada 'Usuarios' (codigo, nombre)
4)Las opciones que corresponden a cada empresa en la tabla 'OpcionEmpresa'
(codigoOpcion, codigoEmpresa), esto porque las empresas pueden tener todas o
solo una parte de las opciones la tabla 'Opciones'.
5)Las opciones a los que cada usuario tiene accesos en la tabla
'UsuarioOpcionEmpresa' (codigoUsuario, codigoOpcion, codigoEmpresa,
accesoLeer, accesoModificar, accesoBorrar).


La duda va porque como cada usuario se le puede asignar permiso a opciones
particulares de cualquiera de las empresas si ese diseño puede ser adecuado,
considerando que puede haber usuarios con acceso total (a todas las opciones
de todas las empresas), otros con acceso a (todas las opciones de) una sola
empresa total, otros con acceso a solo una misma opcion para todas las
empresas y lo mas general que es acceso a opciones especificas en empresas
especificas. Tambien nos han hablado de menúes jerárquicos para asignar
submenúes completos (pero esto no lo hemos considerado todavía).

Si me pueden dar su opinion o contarme de algo que hayan hecho parecido y en
terminos generales como lo han especificado les agradeceria mucho.

Saludos a todos
 

Leer las respuestas

#1 Maxi
20/10/2008 - 15:24 | Informe spam
Hola yo uso mas menus jearquicos, donde a la larga un usuario tiene acceso
a una dll de mi sistema.
Todo depende como programes, pero si tus aplicaciones estan bien dividas y
le das hasta acceso a metodos no tenes problemas. Fijate en los app block de
microsoft que hay unos para seguridad bastante piolas


Salu2

Microsoft MVP SQL Server
Culminis Speaker
www.sqltotalconsulting.com

"Luisa Goicochea" escribió en el mensaje
news:Ol$

Hola
Estoy en un proyecto nuevo de diseñar una aplicación. Una parte en que me
toca trabajar es en el diseño de la seguridad del menú de opciones. La
aplicacion maneja varias empresas, opciones y usuarios.
Estas son las ideas lo mas simple posibles, eliminando los detalles:

1)Tendremos las opciones del sistema en una tabla llamada 'Opciones'.
(codigo, nombre.) que nos servira para llenar el menu dinamicamente en la
aplicacion, cada opcion equivale en general a una clase a ejecutar (form).
2)Las empresas del sistema en otra tabla llamada 'Empresas' (codigo,
nombre)
3)Los usuarios del sistema en otra llamada 'Usuarios' (codigo, nombre)
4)Las opciones que corresponden a cada empresa en la tabla 'OpcionEmpresa'
(codigoOpcion, codigoEmpresa), esto porque las empresas pueden tener todas
o solo una parte de las opciones la tabla 'Opciones'.
5)Las opciones a los que cada usuario tiene accesos en la tabla
'UsuarioOpcionEmpresa' (codigoUsuario, codigoOpcion, codigoEmpresa,
accesoLeer, accesoModificar, accesoBorrar).


La duda va porque como cada usuario se le puede asignar permiso a opciones
particulares de cualquiera de las empresas si ese diseño puede ser
adecuado, considerando que puede haber usuarios con acceso total (a todas
las opciones de todas las empresas), otros con acceso a (todas las
opciones de) una sola empresa total, otros con acceso a solo una misma
opcion para todas las empresas y lo mas general que es acceso a opciones
especificas en empresas especificas. Tambien nos han hablado de menúes
jerárquicos para asignar submenúes completos (pero esto no lo hemos
considerado todavía).

Si me pueden dar su opinion o contarme de algo que hayan hecho parecido y
en terminos generales como lo han especificado les agradeceria mucho.

Saludos a todos


Preguntas similares