Elemento forms para authentication (Esquema de configuración de ASP.NET)

[Esta documentación se proporciona solo para fines preliminares y está sujeta a cambios en versiones posteriores. Se incluye temas en blanco como marcadores].

Configura una aplicación ASP.NET para la autenticación basada en formularios personalizados.

<forms 
   name="name" 
   loginUrl="URL" 
   defaultUrl="URL"
   protection="[All|None|Encryption|Validation]"
   timeout="[MM]"
   path="path"
   requireSSL="[true|false]"
   slidingExpiration="[true|false]">
   enableCrossAppRedirects="[true|false]"
   cookieless="[UseUri|UseCookies|AutoDetect|UseDeviceProfile]" 
   domain="domain name"
   ticketCompatibilityMode="[Framework20|Framework40]">
   <credentials>...</credentials>
</forms>

Atributos y elementos

En las próximas secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Atributos

Atributo

Descripción

cookieless

Atributo opcional.

Define si se utilizan cookies y su comportamiento.

Este atributo puede tener uno de los siguientes valores.

NoteNote
En los sitios web ASP.NET habilitados para AJAX, utilice el valor predeterminado UseCookies para el atributo cookieless.Las bibliotecas de script de cliente AJAX de ASP.NET no admiten la configuración en la que se utilizan cookies codificadas en la dirección URL.
ValorDescripción
UseCookies Especifica que siempre se utilizarán cookies, independientemente del dispositivo.
UseUri Especifica que nunca se utilizarán cookies.
AutoDetect Especifica que se utilizan cookies si el perfil del dispositivo las admite; en caso contrario, no se utilizan cookies.En el caso de los exploradores de escritorio que admiten el uso de cookies, se utilizará un mecanismo de prueba para intentar utilizarlas cuando estén habilitadas.Si un dispositivo no admite cookies, no se utilizará este mecanismo de prueba.
UseDeviceProfile Especifica que se utilizan cookies si el explorador las admite; en caso contrario, no se utilizan cookies. En el caso de los dispositivos que admiten cookies, no se intenta determinar si está habilitado el uso de cookies.

Este atributo es nuevo en la versión 2.0 de .NET Framework.

El valor predeterminado es UseDeviceProfile..

defaultUrl

Atributo opcional.

Define la dirección URL predeterminada que se utiliza para la redirección después de la autenticación.

Este atributo es nuevo en la versión 2.0 de .NET Framework.

El valor predeterminado es "default.aspx".

domain

Atributo opcional.

Especifica un dominio opcional que se va a establecer en las cookies de autenticación de los formularios salientes. Esta opción tiene prioridad sobre el dominio utilizado en el elemento httpCookies.

Este atributo es nuevo en la versión 2.0 de .NET Framework.

El valor predeterminado es una cadena vacía ("").

enableCrossAppRedirects

Atributo opcional.

Indica si los usuarios autenticados se redirigen a direcciones URL en otras aplicaciones Web.

NoteNote
Al realizar redireccionamientos entre aplicaciones, se debe comprobar que varios de los atributos de Elemento forms para authentication (Esquema de configuración de ASP.NET) estén duplicados en las aplicaciones autenticadas.Para obtener más información y un ejemplo, vea Forms Authentication Across Applications.

Este atributo puede tener uno de los siguientes valores.

ValorDescripción
True Especifica que los usuarios autenticados pueden redirigirse a direcciones URL en otras aplicaciones Web.
False Especifica que los usuarios autenticados no pueden redirigirse a direcciones URL en otras aplicaciones Web.

Este atributo es nuevo en la versión 2.0 de .NET Framework.

El valor predeterminado es False.

loginUrl

Atributo opcional.

Especifica la dirección URL a la que debe redirigirse la solicitud de inicio de sesión si no se encuentra ninguna cookie de autenticación válida.

El valor predeterminado es login.aspx.

name

Atributo opcional.

Especifica la cookie HTTP utilizada para la autenticación. Si se ejecutan varias aplicaciones en un mismo servidor y cada una requiere una cookie única, se debe configurar el nombre de la cookie en cada archivo Web.config de cada aplicación.

El valor predeterminado es ".ASPXAUTH".

path

Atributo opcional.

Especifica la ruta de acceso de las cookies emitidas por la aplicación.

El valor predeterminado es una barra diagonal (/), ya que la mayor parte de los exploradores distinguen mayúsculas y minúsculas, y no devolverán cookies si hay una discrepancia de este tipo en la ruta de acceso.

protection

Atributo opcional.

Si se ha utilizado algún tipo de cifrado, especifica el empleado para las cookies.

Este atributo puede tener uno de los siguientes valores.

ValorDescripción
All Especifica que la aplicación utiliza validación de datos y cifrado para ayudar a proteger la cookie.Esta opción utiliza el algoritmo de validación de datos configurado, que se basa en el elementomachineKey.Para el cifrado se utiliza Triple-DES (3DES), si está disponible y si la longitud de la clave es suficiente (48 bytes o más).All es el valor predeterminado y recomendado.
Encryption Especifica que las cookies se cifran con 3DES o DES, pero que no se validan los datos en la cookie.Las cookies empleadas de esta manera pueden sufrir ataques en el texto sin formato.
None Especifica que tanto el cifrado como la validación están deshabilitados para aquellos sitios que utilizan cookies sólo para la personalización y tienen requisitos de seguridad menos estrictosSe recomienda no utilizar las cookies de esta manera; no obstante, es el método que menos recursos requiere para habilitar la personalización en .NET Framework.
Validation Especifica que un esquema de validación comprueba que el contenido de una cookie cifrada no ha sido alterado durante el trayecto.La cookie se crea con validación de cookies mediante la concatenación de una clave de validación y los datos de la cookie, el cálculo de un código de autenticación de mensajes (MAC) y la anexión de este código a la cookie saliente.

El valor predeterminado es All.

requireSSL

Atributo opcional.

Especifica si se requiere una conexión SSL para transmitir la cookie de autenticación.

Este atributo puede tener uno de los siguientes valores.

ValorDescripción
True Especifica que se requiere una conexión SSL para ayudar a proteger las credenciales del usuario.Si su valor es True, ASP.NET establece la propiedad Secure de la cookie de autenticación y un explorador compatible no devuelve la cookie, a menos que la conexión utilice SSL.
False Especifica que no se requiere una conexión SSL para transmitir la cookie.El valor predeterminado es False.

El valor predeterminado es False.

slidingExpiration

Atributo opcional.

Especifica si el plazo de expiración está habilitado. Este plazo restablece el tiempo del que dispone una cookie de autenticación activa hasta su expiración en cada solicitud realizada durante una sesión.

Este atributo puede tener uno de los siguientes valores.

ValorDescripción
True Especifica que el plazo de expiración está habilitado.La cookie de autenticación se actualiza y el tiempo hasta la expiración se restablece para las solicitudes siguientes realizadas en la misma sesión.
False Especifica que el plazo de expiración no está habilitado y que la cookie expira en un intervalo de tiempo fijado, a partir del momento en que se emitió originalmente.

El valor predeterminado es True.

ticketCompatibilityMode

Atributo opcional.

Especifica si se va a usar la Hora universal coordinada (UTC) o la hora local para la fecha de expiración del vale para la autenticación de formularios.

Este atributo puede TENER uno de los siguientes valores.

ValorDescripción
Framework20 Especifica que la fecha de expiración del vale se almacena utilizando la hora local.
Framework40 Especifica que la fecha de expiración del vale se almacena utilizando la hora UTC.

El valor predeterminado es Framework20.

timeout

Atributo opcional.

Especifica el intervalo de tiempo, en minutos enteros, transcurrido el cual la cookie expira. Si el valor del atributo SlidingExpiration es true, el atributo timeout es un valor variable, que expira cuando transcurre el número de minutos especificado, contados a partir de la recepción de la última solicitud. Para evitar problemas de rendimiento y evitar que aparezcan numerosas advertencias del explorador a los usuarios que tengan activadas las advertencias de cookies, la cookie se actualiza cuando ha transcurrido más de la mitad del tiempo especificado. Esto puede disminuir la precisión. El valor predeterminado es "30" (30 minutos).

NoteNote
En ASP.NET 1.1, las cookies persistentes no expiran, sea cual sea el valor del atributo de tiempo de espera.Sin embargo, a partir de ASP.NET 2.0, las cookies persistentes expiran según el valor del atributo de tiempo de espera.

Elementos secundarios

Subetiqueta

Descripción

credentials

Permite las definiciones opcionales de las credenciales de nombre y contraseña en el archivo de configuración. También puede implementar un esquema personalizado de contraseñas que use un origen externo, por ejemplo una base de datos, para controlar la validación.

Elementos primarios

Elemento

Descripción

configuration

Especifica el elemento raíz necesario de cada archivo de configuración que utilizan las aplicaciones basadas en Common Language Runtime y .NET Framework.

system.web

Especifica el elemento raíz de los valores de configuración de ASP.NET en un archivo de configuración y contiene elementos de configuración que configuran aplicaciones Web ASP.NET y controlan el comportamiento de las aplicaciones.

authentication

Configura el esquema de autenticación de ASP.NET utilizado para identificar usuarios que ven una aplicación ASP.NET.

Comentarios

El elemento forms configura una aplicación ASP.NET para una autenticación personalizada basada en formularios. Si se ejecutan varias aplicaciones en un único servidor, los atributos del elemento forms se deben configurar en el archivo Web.config de cada aplicación. Para obtener más información, vea Forms Authentication Across Applications.

Se puede superar el tamaño máximo del identificador URI cuando se envía el vale de autenticación de los formularios en el identificador URI. Si la combinación del vale de identificación anónimo, el vale de autenticación de los formularios, el identificador de sesión y los datos de usuario es mayor que la longitud máxima permitida del identificador URI, se generará el error 400 de solicitud incorrecta.

Configuración predeterminada

El siguiente elemento forms predeterminado no se configura explícitamente en el archivo Machine.config o en el archivo Web.config raíz. Sin embargo, es la configuración predeterminada que devuelve la aplicación en .NET Framework 2.0.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   defaultUrl="default.aspx" 
   protection="All" 
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true" 
   cookieless="UseDeviceProfile" domain="" 
   enableCrossAppRedirects="false">
   <credentials passwordFormat="SHA1" />
</forms>

En .NET Framework 1.1, el siguiente elemento forms predeterminado se configura en el archivo Machine.config.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" 
   requireSSL="false" 
   slidingExpiration="true">
   <credentials passwordFormat="SHA1"></credentials>
</forms>

En .NET Framework 1.0, el siguiente elemento forms predeterminado se configura en el archivo Machine.config.

<forms 
   name=".ASPXAUTH" 
   loginUrl="login.aspx" 
   protection="All"  
   timeout="30" 
   path="/" >
   <credentials passwordFormat="SHA1"></credentials>
</forms>

Ejemplo

En el siguiente ejemplo de código se muestra cómo configurar un sitio para la autenticación basada en formularios, se especifica el nombre de la cookie que transmite la información de inicio de sesión del cliente y se especifica el nombre de la página de inicio de sesión que se va a utilizar si se genera un error en la autenticación inicial.

<configuration>
   <system.web>
   <authentication mode="Forms">
      <forms 
      name="401kApp" 
      loginUrl="/login.aspx"
      cookieless="AutoDetect"
      defaultUrl="myCustomLogin.aspx">
      <credentials passwordFormat = "SHA1">   
         <user name="UserName" 
         password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
      </credentials>   
      </forms>
   </authentication>
   </system.web>
</configuration>

Información de elemento

Controlador de la sección de configuración

AuthenticationSection

Miembro de configuración

FormsAuthentication

FormsAuthenticationConfiguration

Ubicaciones configurables

Machine.config

Web.config del nivel raíz

Web.config del nivel de aplicaciones

Requisitos

Microsoft Internet Information Services (IIS) versión 5.0, 5.1 ó 6.0

.NET Framework 1.0, 1.1 ó 2.0

Microsoft Visual Studio 2003 o Visual Studio 2005

Vea también

Tareas

How to: Configure Specific Folders Using Location Settings

How to: Lock ASP.NET Configuration Settings

Referencia

Elemento authentication (Esquema de configuración de ASP.NET)

Elemento credentials para authentication (Esquema de configuración de ASP.NET)

Elemento system.web (Esquema de configuración de ASP.NET)

Elemento passport para authentication (Esquema de configuración de ASP.NET)

Elemento configuration (Esquema de configuración general)

System.Configuration

System.Web.Configuration

AuthenticationSection

FormsAuthentication

Conceptos

Forms Authentication Across Applications

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

Otros recursos

ASP.NET Authentication

Opciones de configuración generales (ASP.NET)

Opciones de configuración de ASP.NET

Configuring ASP.NET Applications

ASP.NET Configuration Files

ASP.NET Configuration API