Приложение, над которым я сейчас работаю, имеет значение тайм-аута сеанса. Если пользователь не взаимодействовал дольше этого значения, на следующей странице, которую он попытается загрузить, ему будет предложено войти в систему.
Все сделанные запросы маршрутизируются через этот механизм, который включает вызовы AJAX. Первоначально мы отправляли заголовок 200 со страницей входа в систему, что вызывает некоторые проблемы с AJAX, поскольку код запускается, если отправляется ответ 200, и большая часть данных, отправляемых обратно из этих вызовов RPC, представляет собой JSON или необработанный JavaScript, который оценивается (не спроси: |).
Я предположил, что 401 лучше, поскольку наш парсер JSON не будет пытаться использовать HTML-страницу входа в систему .. :)
Однако, читая спецификацию , я заметил, что WWW-Authenticate
поле также должно быть отправлено.
Какое значение имеет это поле? Хватит Application Login
?
источник
Нет, вам нужно будет указать используемый метод аутентификации (обычно «Базовый») и область аутентификации. См. Http://en.wikipedia.org/wiki/Basic_access_authentication для примера запроса и ответа.
Вы также можете прочитать RFC 2617 - HTTP-аутентификация: базовая и дайджест-проверка подлинности .
источник
Когда время сеанса пользователя истекает, я отправляю обратно код состояния HTTP 204. Обратите внимание, что статус HTTP 204 не содержит содержимого. На стороне клиента я делаю так:
Вот функция Reload ():
источник