La aplicación en la que estoy trabajando en este momento tiene un valor de tiempo de espera de sesión. Si el usuario no ha interactuado durante más tiempo que este valor, en la siguiente página que intenten cargar, se le pedirá que inicie sesión.
Todas las solicitudes realizadas se enrutan a través de este mecanismo, que incluye llamadas AJAX. Originalmente, estábamos enviando un encabezado 200 con la página de inicio de sesión, que presenta algunos problemas con AJAX, ya que el código se ejecuta si se envía una respuesta 200, y la mayoría de los datos enviados desde estas llamadas RPC son JSON o JavaScript sin procesar que se evalúa (no preguntar: |).
He sugerido que un 401 es mejor, ya que nuestro analizador JSON no intentará consumir una página de inicio de sesión HTML .. :)
Cuando la lectura de la especificación , sin embargo, me di cuenta de que el WWW-Authenticate
campo también debe ser enviado.
¿Cuál es un buen valor para este campo? SeráApplication Login
suficiente?
fuente
No, tendrá que especificar el método de autenticación que se utilizará (normalmente "Básico") y el ámbito de autenticación. Consulte http://en.wikipedia.org/wiki/Basic_access_authentication para obtener un ejemplo de solicitud y respuesta.
También es posible que desee leer RFC 2617 - Autenticación HTTP: Autenticación de acceso básica y implícita .
fuente
Cuando la sesión de usuario se agota, envío un código de estado HTTP 204. Tenga en cuenta que el estado HTTP 204 no tiene contenido. En el lado del cliente hago esto:
Aquí está la función Reload ():
fuente