Compartir a través de


FormsAuthenticationConfiguration (clase)

Configura la autenticación de formularios para una aplicación de ASP.NET.

Sintaxis

class FormsAuthenticationConfiguration : EmbeddedObject  

Métodos

Esta clase no contiene métodos.

Propiedades

La siguiente tabla muestra las propiedades expuestas por la clase FormsAuthenticationConfiguration.

Nombre Descripción
Cookieless Enumeración de lectura y escritura sint32 que especifica si la autenticación de formularios debe usar cookies. Los valores posibles se enumeran más adelante en la sección Comentarios.
Credentials Un valor FormsAuthenticationCredentials que contiene una colección de nombres de usuario y contraseñas para utilizar durante la autenticación de formularios. Nota: Cuando se requiere seguridad, debe usar formas alternativas de almacenar nombres de usuario y contraseñas (por ejemplo, en un almacén de bases de datos). Si decide usar esta colección, debe especificar un formato de cifrado en la propiedad PasswordFormat de la clase FormsAuthenticationCredentials.
DefaultUrl Un valor string de lectura/escritura no vacío que especifica la URL predeterminada a la que dirigir la solicitud tras la autenticación. El valor predeterminado es "default.aspx".
Domain Un valor de lectura/escritura string que especifica el nombre de dominio que se enviará con las cookies de autenticación de formularios. El valor predeterminado es "". Para las cookies de autenticación de formularios, esta configuración tiene prioridad sobre la configuración de la propiedad Domain de la clase HttpCookiesSection.
EnableCrossAppRedirects Valor boolean de lectura y escritura. true si los usuarios autenticados se pueden redirigir a las direcciones URL de otras aplicaciones; de lo contrario, false. El valor predeterminado es false. Si esta propiedad es true, se realiza el redireccionamiento; de lo contrario, el explorador se redirige a la página definida en la propiedad DefaultUrl. Nota: Cuando la autenticación de formularios está habilitada en varias aplicaciones de ASP.NET, no es necesario que los usuarios vuelvan a autenticarse cuando cambien entre las aplicaciones. Para obtener más información, consulte Autenticación de formularios entre aplicaciones.
LoginUrl Un valor no vacío de lectura/escritura string que especifica la URL a la que se redirige la petición cuando el usuario no está autenticado o cuando no existe una cookie de autenticación válida. El valor predeterminado es "login.aspx".
Name Un valor no vacío de lectura/escritura string que especifica el nombre de la cookie HTTP que se va a usar para la autenticación de solicitudes. El valor predeterminado es ".ASPXAUTH".
Path Un valor no vacío de lectura/escritura string que especifica la ruta de la cookie HTTP que se va a usar para la autenticación. La ruta de acceso se transmite junto con la propia cookie de autenticación. El valor predeterminado es "/", que representa la raíz de la aplicación web.
Protection Valor de lectura y escritura sint32 que especifica el método de cifrado utilizado para la cookie. Los valores posibles se enumeran más adelante en la sección Comentarios.
RequireSSL Valor boolean de lectura y escritura. true si se requiere una conexión de capa de sockets seguros (SSL) para la autenticación; de lo contrario, false. El valor predeterminado es false. Si esta propiedad es true, una aplicación web rechaza todas las solicitudes de autenticación de formularios que no usan una conexión SSL.
SlidingExpiration Valor boolean de lectura y escritura. true si la expiración de la cookie de autenticación se establecerá en la fecha y hora actuales más el valor, en minutos, en la propiedad Timeout; en caso contrario, false. El valor predeterminado es true.

Si true, la fecha y hora de expiración de la cookie se restablecerá automáticamente si queda menos de la mitad del valor en Timeout y el usuario sigue utilizando activamente la aplicación. Si false, la cookie caduca automáticamente una vez transcurrido el intervalo especificado en la propiedad Timeout.
Timeout Un valor de lectura/escritura datetime que especifica el tiempo tras el cual expira la autenticación. El valor predeterminado es de 30 minutos.

Subclases

Esta clase no contiene subclases.

Comentarios

Las instancias de esta clase se encuentran en la propiedad Forms de la clase AuthenticationSection.

En la siguiente tabla se describen los posibles valores de la propiedad Cookieless. El valor predeterminado es 3 (UseDeviceProfile).

Valor Palabra clave Descripción
0 UseUri Especifica que la característica de llamada usa la cadena de consulta para almacenar un identificador, independientemente de si el explorador o el dispositivo admiten cookies.
1 UseCookies Especifica que las cookies se usan para conservar los datos de usuario, independientemente de si el explorador o el dispositivo admiten cookies.
2 AutoDetect Especifica que ASP.NET determina si el explorador o el dispositivo de solicitud admiten cookies. Si el navegador o el dispositivo admite cookies, la característica de solicitud utiliza cookies para conservar los datos de usuario; de lo contrario, la característica de solicitud usa un identificador en la cadena de consulta. Si el navegador o el dispositivo admite las cookies, pero las cookies están deshabilitadas actualmente, la característica de solicitud sigue usando cookies.
3 UseDeviceProfile Especifica que ASP.NET determina si se deben utilizar cookies basándose en la propiedad Cookies de la clase System.Web.Configuration.HttpCapabilitiesBase. Si la configuración indica que el navegador o el dispositivo admite cookies, la característica de solicitud utiliza cookies; de lo contrario, la característica de solicitud usa un identificador en la cadena de consulta.

En la siguiente tabla se describen los posibles valores de la propiedad Protection. El valor predeterminado es 0 (All).

Valor Palabra clave Descripción
0 All Especifica que la aplicación usará tanto la validación como el cifrado de datos para ayudarle proteger las cookies. Esta opción usa el algoritmo de validación de datos especificado en la clase MachineKeySection. La aplicación usa el estándar de cifrado de datos triple (Triple DES) para el cifrado si está disponible y si la clave tiene al menos 48 bytes de longitud. Nota: Esta es la configuración recomendada. Para mejorar la protección de la cookie, es posible que también desee establecer la propiedad RequireSSL en true.
1 None Especifica que el cifrado y la validación están deshabilitados. Esta configuración es para sitios con requisitos de seguridad más débiles que usan cookies solo para la personalización. Debe evitar el uso de cookies de esta manera. Sin embargo, este es el modo que menos recursos utiliza para habilitar la personalización mediante el uso de .NET Framework.
2 Encryption Especifica que las cookies se cifran con Triple DES o DES. Con esta configuración, no se realiza la validación de datos en las cookies, lo que las hace vulnerables frente a ataques de seguridad de texto no cifrado.
3 Validation Especifica que la aplicación usará un esquema de validación para comprobar que el contenido de una cookie cifrada no se ha modificado en tránsito. La cookie se crea concatenando una clave de validación con los datos de la cookie, calculando un código de autenticación de mensajes (MAC) y anexando el MAC a la cookie de salida.

Ejemplo

En el ejemplo siguiente se muestra la configuración de autenticación de formularios para el sitio web predeterminado.

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")  
  
' Get the authentication section.  
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")  
oSite.GetSection "AuthenticationSection", oAuthSection  
  
' Assign the Forms property to a variable.  
Set oFormsAuthConfig = oAuthSection.Forms  
  
' Display the Forms authentication settings.  
WScript.Echo "Forms Authentication Settings"  
WScript.Echo "-----------------------------"  
  
WScript.Echo "Cookieless: [ " & _  
    CookielessText(oFormsAuthConfig.Cookieless)& " ]"  
  
WScript.Echo "Default Url: [ " & _  
    oFormsAuthConfig.DefaultUrl& " ]"  
  
WScript.Echo "Domain: [ " & oFormsAuthConfig.Domain& " ]"  
  
WScript.Echo "EnableCrossAppRedirects: [ " & _  
    oFormsAuthConfig.EnableCrossAppRedirects& " ]"  
  
WScript.Echo "LoginUrl: [ " & _  
    oFormsAuthConfig.LoginUrl & " ]"  
  
WScript.Echo "Name: [ " & oFormsAuthConfig.Name& " ]"  
  
WScript.Echo "Path: [ " & oFormsAuthConfig.Path& " ]"  
  
WScript.Echo "Protection: [ " & _  
    ProtectionText(oFormsAuthConfig.Protection)& " ]"  
  
WScript.Echo "RequireSSL: [ " & _  
    oFormsAuthConfig.RequireSSL& " ]"  
  
WScript.Echo "SlidingExpiration: [ " & _  
    oFormsAuthConfig.SlidingExpiration& " ]"  
  
WScript.Echo "Timeout: [ " & oFormsAuthConfig.Timeout& " ]"  
  
' Call a sub to display the credentials information.  
DisplayCredentials(oFormsAuthConfig.Credentials)  
  
' Convert the Cookieless enumeration values to text.  
Function CookielessText(enumValue)  
    Select Case enumValue  
        Case 0  
            CookielessText = "UseUri"  
        Case 1  
            CookielessText = "UseCookies"  
        Case 2  
            CookielessText = "AutoDetect"  
        Case 3  
            CookielessText = "UseDeviceProfile"  
        Case Else  
            CookielessText = "Undefined enumeration value."  
    End Select  
End Function  
  
' Convert the Protection enumeration values to text.  
Function ProtectionText(enumValue)  
    Select Case enumValue  
        Case 0  
            ProtectionText = "All"  
        Case 1  
            ProtectionText = "None"  
        Case 2  
            ProtectionText = "Encryption"  
        Case 3  
            ProtectionText = "Validation"  
        Case Else  
            ProtectionText = "Undefined enumeration value."  
    End Select  
End Function  
  
' Display the Forms authentication credentials.  
Sub DisplayCredentials(FA_Credentials)  
    WScript.Echo vbCrLf & "Forms Authentication Credentials"  
    WScript.Echo "--------------------------------"  
  
    ' Display the password encryption format.  
    WScript.Echo "Password Format: " & _  
        PwdFormatText(FA_Credentials.PasswordFormat) & VbCrLf  
  
    ' Display the Forms authentication users and passwords.  
    For Each FormsAuthUser In FA_Credentials.Credentials  
        WScript.Echo "    Name: [ " & FormsAuthUser.Name & " ]"  
        WScript.Echo "Password: [ " & _  
            FormsAuthUser.Password& " ]"  
        WScript.Echo  
    Next  
End Sub  
  
' Convert the PasswordFormat enumeration values to text.  
Function PwdFormatText(enumValue)  
    Select Case enumValue  
        Case 0  
            PwdFormatText = "Clear"  
        Case 1  
            PwdFormatText = "SHA1"  
        Case 2  
            PwdFormatText = "MD5"  
        Case Else  
            PwdFormatText = "Undefined enumeration value."  
    End Select  
End Function  
  

Jerarquía de herencia

EmbeddedObject

FormsAuthenticationConfiguration

Requisitos

Tipo Descripción
Remoto - IIS 7.0 en Windows Vista
- IIS 7.5 en Windows 7
- IIS 8.0 en Windows 8
- IIS 10.0 en Windows 10
Server - IIS 7.0 en Windows Server 2008
- IIS 7.5 en Windows Server 2008 R2
- IIS 8.0 en Windows Server 2012
- IIS 8.5 en Windows Server 2012 R2
- IIS 10.0 en Windows Server 2016
Producto - IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0
Archivo MOF WebAdministration.mof

Consulte también

System.Web.Configuration.AuthenticationModeSystem.Web.Configuration.FormsAuthenticationConfigurationSystem.Web.Configuration.HttpCapabilitiesBaseAuthenticationSection (clase)
Clase EmbeddedObject
Clase FormsAuthenticationCredentials
Clase FormsAuthenticationUser
Clase MachineKeySection
Autenticación de formularios entre aplicaciones
CIM_DATETIME