Compartir a través de


Proveedor de autenticación de Windows

La Autenticación de Windows trata la identidad de usuario proporcionada por Servicios de Microsoft Internet Information Server (IIS) como el usuario autenticado en una aplicación ASP.NET. IIS ofrece diversos mecanismos de autenticación para comprobar la identidad del usuario, incluyendo autenticación anónima, autenticación de Windows integrada (NTLM), autenticación de Windows integrada (Kerberos), autenticación básica (codificada en base64), autenticación de texto implícita y autenticación basada en certificados de cliente.

La autenticación de Windows se implementa en ASP.NET utilizando el módulo WindowsAuthenticationModule. El módulo construye una identidad WindowsIdentity basándose en las credenciales proporcionadas por IIS y establece la identidad como el valor actual de la propiedad User para la aplicación.

La autenticación de Windows es el mecanismo de autenticación predeterminado para las aplicaciones ASP.NET y se identifica como el modo de autenticación para una aplicación mediante el elemento de configuración authentication, tal como se muestra en el ejemplo de código siguiente.

<system.web>
  <authentication mode="Windows"/>
</system.web>

Suplantar la identidad de Windows

Si bien el modo de autenticación de Windows establece el valor de la propiedad User actual en una identidad WindowsIdentity basándose en las credenciales proporcionadas por IIS, no modifica la identidad de Windows proporcionada al sistema operativo. La identidad de Windows proporcionada al sistema operativo se utiliza para comprobar los permisos, como los permisos de archivos NTFS, o para conectarse a una base de datos mediante la seguridad integrada. De forma predeterminada, esta identidad de Windows es la identidad del proceso de ASP.NET. En Microsoft Windows 2000 y Windows XP Professional, ésta es la identidad del proceso de trabajo de ASP.NET, que es la cuenta local de ASPNET. En Windows Server 2003, ésta es la identidad del Grupo de aplicaciones IIS del que forma parte la aplicación ASP.NET. De forma predeterminada, ésta es la cuenta NETWORK SERVICE.

Para configurar la identidad de Windows de la aplicación ASP.NET como la identidad de Windows proporcionada por IIS hay que habilitar la suplantación. Es decir, indica a la aplicación ASP.NET que suplante la identidad suministrada por IIS para todas las tareas autenticadas por el sistema operativo Windows, incluyendo el acceso a archivos y a la red.

Para habilitar la suplantación para la aplicación Web, en el archivo Web.config de la aplicación establezca el atributo impersonate del elemento identity en true, como se muestra en el ejemplo de código siguiente.

<system.web>
  <authentication mode="Windows"/>
  <identity impersonate="true"/>
</system.web>

Para obtener más información acerca de la identidad de procesos en ASP.NET, vea Configurar la identidad de procesos en ASP.NET. Para obtener más información acerca de la suplantación, vea el método Impersonate.

Habilitar la autorización utilizando ACL de NTFS

Puede mejorar la seguridad de una aplicación ASP.NET si protege los archivos de la aplicación mediante el sistema de archivos NTFS y Listas de control de acceso (ACL). Las ACL le permiten especificar qué usuarios y grupos de usuarios tienen acceso a los archivos de su aplicación. Para obtener una lista de los permisos de archivos NTFS mínimos que una identidad de Windows necesita para ejecutarse como la identidad de una página ASP.NET, vea Listas de control de acceso (ACL) necesarias para ASP.NET.

Nota

También puede utilizar las funciones de ASP.NET para administrar la autorización de usuarios para las páginas y las secciones de una aplicación Web. Para obtener más información, vea Administrar autorizaciones con funciones.

Vea también

Tareas

Cómo: Crear un objeto WindowsPrincipal
Cómo: Crear objetos GenericPrincipal y GenericIdentity

Otros recursos

Seguridad de aplicaciones Web ASP.NET
Autenticación de ASP.NET