Capa de Seguridad

27/02/2008 - 03:38 por Elvio | Informe spam
Hola amigos como estan, les comento mi situacion ojala puedan orientarme.
TEngo una aplicacion ya desarrollada en 3 capas, Presentacion, Datos, Logica
lo que se desea hacer es crear un mecanismo de seguridad para la capa logica
que permita la ejecucion o no de determinados metodos, dependiendo del
usuario que lo este ejecutando tenga los suficientes privilegios.
Este mecanismo no debe ser lo minimo intrusivo posible ya q no se puede
modificar el codigo de los metodos.
Es posible utilizar reflection para esto?, cual es la mejor estrategia a
seguir? es posible implementar esta especie de layer ? sin conocer la
funcionalidad de los metodos...

Bueno espero puedan ayudarme..
Un saludo
 

Leer las respuestas

#1 Alberto Poblacion
27/02/2008 - 08:20 | Informe spam
"Elvio" wrote in message
news:
Hola amigos como estan, les comento mi situacion ojala puedan orientarme.
TEngo una aplicacion ya desarrollada en 3 capas, Presentacion, Datos,
Logica
lo que se desea hacer es crear un mecanismo de seguridad para la capa
logica
que permita la ejecucion o no de determinados metodos, dependiendo del
usuario que lo este ejecutando tenga los suficientes privilegios.
Este mecanismo no debe ser lo minimo intrusivo posible ya q no se puede
modificar el codigo de los metodos.
Es posible utilizar reflection para esto?, cual es la mejor estrategia a
seguir? es posible implementar esta especie de layer ? sin conocer la
funcionalidad de los metodos...



¿Tienes acceso al código fuente, aunque no se pueda modificar el código
de los métodos? Podrías usar la seguridad declarativa de .Net, que se
controla mediante Atributos. Estos Atributos se insertan en el código fuente
FUERA de los métodos, con lo que el código de éstos no se vería afectado.
Por ejemplo:

...
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
...
[PrincipalPermission(SecurityAction.Demand, Name="Pepe",Role="Supervisor")]
public void MiProcedimiento(,,,)
{
//No hay que modificar el contenido del procedimiento
}

Preguntas similares