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

Preguntas similare

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
}
Respuesta Responder a este mensaje
#2 Elvio Velasquez
27/02/2008 - 23:17 | Informe spam
Hola ..
Si tengo acceso al codigo fuente, donde puedo encontrar mas ayuda sobre
estos atributos...?
Gracias de antemano.

"Alberto Poblacion"
escribió en el mensaje de noticias
news:%
"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
}



Respuesta Responder a este mensaje
#3 tonymx
28/02/2008 - 01:52 | Informe spam
Hola Elvio!
Yo te recomendaría que uses el Security Application Block, el cual es parte
de "The patterns & practices Enterprise Library",un conjunto de bloques de
aplicación listos para usarse y que proveen las mejores practicas para
escenarios comunes en aplicaciones empresariales, como en tu caso que deseas
realizar verificacion de privilegios y todo eso.

Espero te pueda servir, aqui te anexo el link
http://msdn2.microsoft.com/en-us/li...80465.aspx

Saludos!


"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...

Bueno espero puedan ayudarme..
Un saludo
Respuesta Responder a este mensaje
#4 Alberto Poblacion
28/02/2008 - 08:10 | Informe spam
"Elvio Velasquez" wrote in message
news:
Si tengo acceso al codigo fuente, donde puedo encontrar mas ayuda sobre
estos atributos...?



En MSDN tienes un "How To":
http://msdn2.microsoft.com/en-us/li...31200.aspx

Al final de ese artículo hay enlaces a la Referencia del
PrincipalPermission.

Mira también este:
http://msdn2.microsoft.com/en-us/library/765xy944(VS.71).aspx
Y este otro, que aunque se refiere a un Servicio también usa el atributo
para controlar el acceso a un método:
http://msdn2.microsoft.com/en-us/li...52243.aspx
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida