Flujo de control de autenticación de formularios

Actualización: noviembre 2007

En la tabla siguiente se muestra el flujo de control de la autenticación de formularios de ASP.NET.

Funcionamiento del explorador y de HTTP

Respuesta del servidor

Solicita un recurso protegido de un servidor. El funcionamiento de HTTP es el siguiente:

GET /default.aspx

Si no hay una cookie de autenticación, redirige la solicitud a una página de inicio de sesión para obtener las credenciales. La información sobre la página de origen se coloca en la cadena de consulta utilizando RETURNURL como clave. La respuesta HTTP del servidor es:

302 Found
Location: http://samples.microsoft.com/logon.aspx?RETURNURL=/default.aspx

Sigue la redirección a la página de inicio de sesión. El funcionamiento de HTTP es el siguiente:

GET /logon.aspx?RETURNURL=/default.aspx

Devuelve a la página de inicio de sesión. Por razones de seguridad, se recomienda el uso del protocolo Secure Sockets Layer (SSL) en la página de inicio de sesión para evitar que las credenciales del usuario se envíen en texto no cifrado. La respuesta HTTP del servidor es:

200 OK

Envía la página una vez que el usuario ha escrito las credenciales en la página de inicio de sesión. El funcionamiento de HTTP es el siguiente:

POST /logon.aspx?RETURNURL=/default.aspx

Valida las credenciales del usuario y, si se autentican, redirige el explorador a la dirección URL original especificada en QueryString como variable RETURNURL. El vale de autenticación se emite como una cookie de manera predeterminada.

Nota:
Se puede especificar que el vale de autenticación esté incluido en la dirección URL en lugar de una cookie utilizando la propiedad CookieMode.

La respuesta HTTP del servidor es:

302 Found
Location: /default.aspx

Sigue la redirección y solicita el recurso original otra vez. El funcionamiento de HTTP es el siguiente:

GET /default.aspx

Si se autentica al usuario, concede el acceso y la cookie de autenticación, que contiene un vale de autenticación. Las solicitudes posteriores de la misma sesión del explorador se autenticarán cuando el módulo inspeccione la cookie. Es posible crear una cookie persistente que se podrá utilizar en posteriores sesiones, pero sólo hasta la fecha de vencimiento de la cookie. La respuesta HTTP del servidor es:

200 OK
Set-Cookie: ASPXTICKET=ABCDEFG12345;Path=/

Observe que la ruta de acceso de la cookie está establecida en /. Como los nombres de las cookies hacen distinción entre mayúsculas y minúsculas, se evita el uso incoherente de mayúsculas y minúsculas en las direcciones URL del sitio. Por ejemplo, si la ruta de acceso está establecida en /SavingsPlan y un vínculo contiene /savingsplan, el usuario tendrá que volver a autenticarse porque el explorador no enviará la cookie.

Vea también

Otros recursos

Seguridad de aplicaciones Web ASP.NET

Proveedor de autenticación mediante formularios