Seguridad en ASP.NET – IIS 7 Modo integrado

IIS 7 es un sistema modular que permite instalar y desinstalar cada uno por separado para evitar ataques no deseados.

iis7

El modo integrado de IIS 7 es más completo que IIS 6 y tiene completamente integrada en si la seguridad de ASP.NET. De modo que la configuración que realices de seguridad en ASP.NET será aplicable a cualquier petición sea cual sea el tipo de archivo – puede aplicarse a páginas php, jsp o estáticas -. En toda petición IIS lo primero que comprueba es si la IP es la correcta – en un IIS puedes configurar tu aplicación web para que acepte una o algunas IP’s de destino concretas como también de origen -.

iis7_1

El siguiente paso es comprobar si se necesita autentificarse, pero esta vez existe la posibilidad de poder autentificar por formularios. Por tanto la primera de las diferencias que tienes para esta nueva versión es la inclusión de la autenticación por formularios en el propio IIS. En el caso de tener una aplicación web que necesite acceso anónimo, autenticación por Windows o autenticación por formularios puede ser comprobado por el mismo IIS.

iis7_2

Una vez realizada la autenticación – y por tanto en este punto ya tienes información de quien esta realizando la consulta – se comprueba la autorización que tienes en los recursos de la web por Url.

iis7_3

Por ultimo se pasa la petición al proceso ASP.NET.

iis7_4

Por tanto puedes comprobar como en IIS 7 modo integrado se da más responsabilidad al mismo IIS.

Cuando el IIS ha podido autentificar al usuario se pasa la solicitud al proceso ASP.NET para que se genera un objeto Principal que tiene en si un objeto Identity. Estos dos objetos son los usados en las aplicaciones web para tener información del usuario y de los roles que pertenece. Cuando en capítulos anteriores te he hablado de HttpContext te decía que era la clase donde encuentras todo lo que necesitas saber acerca de la petición. Context.User es donde se guarda la instancia IPrincipal – IPrincipal es la interfaz que después dependiendo del tipo de autenticación es un tipo u otro -. IPrincipal contienen el método IsInRole() para determinar si el usuario esta dentro de un rol o no. Identity tiene las propiedades Name que devuelve el nombre del usuario (username), IsAutheticated que devuelve un booleano para indicar si esta o no autentificado y AuthenticationType para saber el tipo de autenticación.

auth

Para más información puedes comprar mi libro Guia Práctica de Asp.net

Anuncis

Deixa un comentari

Fill in your details below or click an icon to log in:

WordPress.com Logo

Esteu comentant fent servir el compte WordPress.com. Log Out / Canvia )

Twitter picture

Esteu comentant fent servir el compte Twitter. Log Out / Canvia )

Facebook photo

Esteu comentant fent servir el compte Facebook. Log Out / Canvia )

Google+ photo

Esteu comentant fent servir el compte Google+. Log Out / Canvia )

Connecting to %s