Comprender el vale de autenticación de formularios y la Cookie

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 910443
Columna de voz de soporte de ASP.NET

Comprender el vale de autenticación de formularios y la Cookie

Para personalizar esta columna a sus necesidades, deseamos invitar a enviar sus ideas sobre temas que le interesan los problemas que desea ver y abordaron en próximas columnas de voz de soporte y artículos de Knowledge Base. Puede enviar sus ideas y comentarios utilizando el Solicite formulario. También hay un vínculo al formulario en la parte inferior de esta columna.

Introducción

Bienvenido a la columna de voz de soporte de ASP.NET de Microsoft. Estoy Nilay B. Shah con el equipo de soporte técnico de desarrolladores ASP.NET. He estado trabajando con ASP.NET soporte para más de un año y medio. Autenticación mediante formularios es realmente una característica de autenticación interesantes. Este artículo trata algunos problemas que los usuarios han encontrado confusos con la autenticación de formularios, como la relación entre el vale de autenticación de formularios y la cookie de autenticación de formularios y sus valores correspondientes. Me gustaría dar las gracias a Jerry Orman, responsable del equipo técnico para el equipo de soporte ASP.NET, por su ayuda increíble!

A veces se preguntan acerca de vales "autenticación de formularios" y "cookies" ya que están estrechamente relacionados. ¿Me he encontrado con preguntas como éstas: puede alguien explicarme la diferencia entre la caducidad de la cookie y la caducidad del vale? Cuando la cookie expira, el usuario será redirigido a la página de inicio de sesión. ¿Qué sucede cuando caduca el vale? ¿También hará la cookie caduque?. ¿¿SlidingUpdate realmente la actualización?.

Me centraré en estos dos aspectos de la autenticación de formularios en este artículo para responder las preguntas siguientes:
  • ¿Qué es cookie formsauthentication y de vale de autenticación de formularios? ¿Cómo se relacionan?.
  • ¿Cuál es la función de un vale de FormsAuthentication?
  • ¿Cómo son de expiración de la cookie y el vale expirationrelated?
  • ¿Cómo funciona la caducidad deslizante en el contexto de vale formsauthentication y la cookie de autenticación de formularios?
  • ¿Dónde se puede establecer la propiedad de tiempo de espera del vale de autenticación de formularios y formularios authenticationcookie?
  • Escenario del problema: la autenticación de formularios puede tiempo outbefore el valor del atributo de tiempo de espera se establece en el configurationfile

¿Qué es el vale de autenticación de formularios y la cookie de autenticación de formularios?. ¿Cómo se relaciona arethey?

Cookie de autenticación de formularios no es más que el contenedor para el vale de autenticación de formularios. El vale se pasa como el valor de la cookie de autenticación de formularios con cada solicitud y se utiliza autenticación de formularios, en el servidor, para identificar un usuario autenticado.

Sin embargo, si se decide utilizar la autenticación de formularios sin cookies, el vale se pasará en la dirección URL en un formato cifrado. Se utiliza la autenticación de formularios sin cookies porque a veces los exploradores cliente bloquean las cookies. Esta característica se introdujo en el Microsoft.NET Framework 2.0.

Para obtener más información, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):

¿Cuál es la función de un vale de informa de autenticación?

El vale de autenticación de formularios se utiliza para indicar a la aplicación ASP.NET quién eres. Por lo tanto, vale es el bloque de creación de la seguridad de la autenticación de formularios.

El vale se cifra y firma utilizando el <machineKey></machineKey> el elemento de configuración del archivo Machine.config del servidor. ASP.NET 2.0 utiliza la decryptionKey y el nuevo atributo de descifrado de la <machineKey></machineKey> elemento para cifrar los vales de autenticación de formularios. El atributo de descifrado permite especificar el algoritmo de cifrado a utilizar. ASP.NET 1.1 y 1.0 utilice cifrado 3DES, que no es configurable. Manipulación con el valor del vale está determinado por un error al descifrar el vale en el servidor. Como resultado, el usuario será redirigido a la página de inicio de sesión.

Si la aplicación se implementa en una batería de servidores Web, debe asegurarse de que los archivos de configuración en cada servidor comparten el mismo valor para los atributos validationKey y decryptionKey en el <machineKey></machineKey> etiqueta, que se utilizan para algoritmos hash y el descifrado del vale, respectivamente. Debe hacerlo porque no puede garantizar qué servidor controlará las solicitudes sucesivas. Para obtener más información acerca del cifrado de FormsAuthenticationTicket y consideraciones de implementación de granja de servidores Web, visite el siguiente sitio Web de MSDN:Un recorrido a través de los métodos para generar manualmente las claves se puede encontrar en los siguientes artículos de Microsoft Knowledge Base:
312906 ¿Cómo crear claves utilizando Visual C# .NET para uso en autenticación mediante formularios?.
313091 ¿Cómo crear claves utilizando Visual Basic .NET para uso en autenticación mediante formularios?.
Los vales de autenticación de formularios pueden generarse manualmente mediante la clase FormsAuthenticationTicket . Para obtener más información, visite el siguiente sitio Web de MSDN:

¿Cómo se relacionan expiración de la cookie y la caducidad del vale?

En el caso de las cookies no persistentes, si el vale ha caducado, también caducará la cookie y el usuario será redirigido a la página de inicio de sesión. En el otro lado, si el vale está marcado como persistente, donde se almacena la cookie en el cuadro cliente, exploradores pueden utilizar la misma cookie de autenticación para iniciar sesión en el sitio Web en cualquier momento. Sin embargo, podemos utilizar el método FormsAuthentication.SignOut eliminar persistente o las cookies no persistentes explícitamente.

Para obtener más información acerca del método FormsAuthentication.SignOut , visite el siguiente sitio Web de MSDN:Con la autenticación de formularios sin cookies, si el explorador se cierra, se pierde el vale y se generará un nuevo vale en la siguiente solicitud.

¿Cómo funciona la caducidad deslizante en el vale de autenticación de offorms de contexto y la cookie de autenticación de formularios?

La caducidad deslizante funciona exactamente de la misma manera!

Veamos un ejemplo: si se accede a la página de inicio de sesión a las 5:00 00:00:00 PM, caducidad a las 5:10 00:00:00 PM si el atributo timeout es 10 y el atributo slidingExpiration está establecido en TRUE. Ahora, si cualquier página Web que se explora otra vez a las 5:05 00:00:00 PM, las cookies y el tiempo de espera de vale se restablecerán a las 5:15:00: 00:00 PM.

Nota: Si se accede a la página Web antes de la mitad de las pasadas de hora de caducidad, no se restablecerá la fecha de expiración del vale. Ejemplo de primer plano, si se tiene acceso a cualquier página Web otra vez a las 5:04 00:00:00 PM, no se restablecerán las cookies y el tiempo de espera de vale.

Para obtener más información, visite el siguiente sitio Web de MSDN:

¿Dónde se puede establecer el valor de tiempo de espera de vale de autenticación de formularios autenticación cookieand formularios?

Es la única configuración que puede realizar en el archivo Web.config o el archivo Machine.config, en el <forms></forms> etiqueta. Este cambio determinará el tiempo de espera de autenticación de formularios en el contexto de un vale o la cookie a menos que el vale se genera manualmente.

<!--forms Attributes: name="[cookie name]" - Sets the name of the cookie used for Forms Authentication.loginUrl="[url]" - Sets the URL to redirect client to for authentication.protection="[All|None|Encryption|Validation]" - Sets the protection mode for data in cookie.timeout="[minutes]" - Sets the duration of time for cookie to be valid (reset on each request).path="/" - Sets the path for the cookie.requireSSL="[true|false]" - Should the forms authentication cookie be sent only over SSL?slidingExpiration="[true|false]" - Should the forms authentication cookie and ticket be reissued if they are about to expire?-->
Para obtener más información, visite el siguiente sitio Web de MSDN:Si el vale se genera manualmente mediante la clase FormsAuthenticationTicket , el tiempo de espera puede establecerse a través del atributo Expiration . Este valor anula el valor del atributo timeout especificado en los archivos de configuración.

Para obtener más información acerca de los miembros de la clase FormsAuthenticationTicket , visite el siguiente sitio Web de MSDN:

Escenario del problema: es posible antes de que el valor del atributo de tiempo de espera se establece en el archivo de configuración de la autenticación por formularios.

Si manualmente se genera el vale de autenticación de formularios, la propiedad de tiempo de espera del vale reemplazará el valor establecido en el archivo de configuración. Por lo tanto, si ese valor es menor que el valor en el archivo de configuración, los formularios de vale de autenticación caducará antes de que el archivo de configuración tiempo de espera de atribuyen valor y viceversa. Por ejemplo, supongamos que el <forms> </forms>tiempo de espera está establecido en 30 en el archivo Web.config y el valor de expiración del vale se establece en 20 minutos. En este caso, el vale de autenticación de formularios caducará después de 20 minutos y el usuario tendrá que iniciar sesión otra vez después de.

Vínculos relacionados

910439 Solucionar problemas de autenticación de formularios
891032 Solución de problemas de ASP.NET
301240 Cómo implementar la autenticación basada en formularios en su aplicación ASP.NET mediante .NET C#
308157 Cómo implementar la autenticación basada en formularios en su aplicación ASP.NET mediante Visual Basic .NET
Espero que se encuentra esta información útil en aliviar parte de la confusión relacionada con la cookie y el vale de autenticación de formularios ASP.NET. Recuerde que las columnas de voz de soporte son para usted! Como siempre, no dude en enviar ideas sobre temas que desea examinarse en futuras columnas o en el Microsoft Knowledge Base utilizando la Solicite formulario.

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 910443 - Última revisión: 06/11/2016 06:28:00 - Revisión: 4.0

Microsoft ASP.NET 2.0, Microsoft ASP.NET 1.0, Microsoft ASP.NET 1.1

  • kbhowto kbasp kbmt KB910443 KbMtes
Comentarios