O aplicativo em que estou trabalhando no momento tem um valor de tempo limite de sessão. Se o usuário não interagir por mais tempo do que esse valor, na próxima página que tentar carregar, será solicitado que ele faça login.
Todas as solicitações feitas são roteadas por meio desse mecanismo, que inclui chamadas AJAX. Originalmente, estávamos enviando um cabeçalho 200 com a página de login, o que introduz alguns problemas com AJAX, uma vez que o código é executado se uma resposta 200 for enviada, e a maioria dos dados enviados de volta dessas chamadas RPC é JSON ou JavaScript bruto que é avaliado (não pergunte: |).
Sugeri que um 401 é melhor, já que nosso analisador JSON não tentará consumir uma página de login HTML .. :)
Ao ler a especificação , porém, percebi que o WWW-Authenticate
campo também deve ser enviado.
Qual é um bom valor para este campo? Será o Application Login
suficiente?
fonte
Não, você terá que especificar o método de autenticação a ser usado (normalmente "Básico") e o domínio de autenticação. Consulte http://en.wikipedia.org/wiki/Basic_access_authentication para um exemplo de solicitação e resposta.
Você também pode ler RFC 2617 - Autenticação HTTP: autenticação de acesso básica e resumida .
fonte
Quando a sessão do usuário atinge o tempo limite, eu envio de volta um código de status HTTP 204. Observe que o status HTTP 204 não contém conteúdo. No lado do cliente, eu faço o seguinte:
Aqui está a função Reload ():
fonte