jueves, 29 de abril de 2010

Codificación del Ticket de Autenticación en la Dirección URL

Las cookies son un medio natural para la inclusión de información sobre el navegador en cada solicitud a un sitio web concreto, por lo que la configuración de autenticación por defecto forms utilizar cookies cuando el dispositivo visitando las admite. Si las cookies no son compatibles, debemos usar una alternativa para pasar el Ticket de autenticación desde el cliente al servidor. Una solución común usada en ambientes sin cookies es codificar los datos de la cookie en la URL.

La mejor manera de ver cómo esa información puede ser embebido dentro de la URL y forzar el sitio para que utilice la autenticación sin cookies. Esto se puede lograr mediante el establecimiento de la configuración de cookieless configurado a UseUri, ejemplo:

<authentication mode="Forms">
      <forms
          cookieless="UseUri"
          slidingExpiration="true"
          timeout="60"/>
    </authentication>

Una vez realizado este cambio, cuando visitemos el sitio a través del navegador como usuario anónimo, por ejemplo la dirección URL de la página Default.aspx la barra de direcciones mostrará:

http://localhost/misitio/default.aspx

Sin embargo, al iniciar la sesión, el ticket de autenticación de formularios está incrustado en la URL. Por ejemplo, después de visitar la página de entrada e iniciar de sesión como un usuario valido, la dirección en esta ocasión es:

http://localhost/misitio/(F(jaIOIDTJxIr12xYS-VVgkqKCVAuIoW30Bu0diWi6flQC-FyMaLXJfow_Vd9GZkB2Cv-rfezq0gKadKX0YPZCkA2))/default.aspx

Entonces lo que tenemos aquí es que ahora el ticket de autenticación de formularios se ha incrustado en la URL. La cadena (F(jaIOIDTJxIr12xYS-VVgkqKCVAuIoW30Bu0diWi6flQC-FyMaLXJfow_Vd9GZkB2Cv-rfezq0gKadKX0YPZCkA2) representa la información de autenticación de codificado hexadecimal del ticket. Estos son los mismos datos que normalmente se almacenan en una cookie.

Saludos, Toby

No hay comentarios:

Publicar un comentario

Entradas populares