Проверка подлинности на основе форм Tomcat с помощью приложения ajax

Я использую аутентификацию Tomcat на основе форм в веб-приложении, в котором большую часть времени используется вызов ajax. Конфигурация области довольно хорошо задокументирована, и она работает.

Моя проблема начинается, когда сессия пользователя заканчивается по любой причине. Последующий ajax-вызов будет иметь ответ 200 ok, с контентом, являющимся страницей входа.

Я ищу способ изменить beavaior tomcat, например, отправить 401 вместо сокрытия содержимого, принудительное перенаправление клиента или любое другое решение, позволяющее сценарию JS знать, что сеанс завершен и проверка подлинности требуется еще раз,

2 ответа

То, что я в итоге делаю, это на стороне js сканировать начало каждого ответа, используя короткое регулярное выражение, например:

/^<!DOCTYPE html>/.test(responseBody)

Это работает, но занимает дополнительное время для каждого запроса. Это работает только потому, что я знаю, что никогда не использую html как ответ от сервера.

После прочтения этого http://www.htmlcodetutorial.com/document/index_tagsupp_13.html я попытался добавить какой-либо настраиваемый заголовок с метатегом http-эквивалент на своей странице входа в систему html.

Но это не работает, как ожидалось. Похоже, что tomcat не читает статический контент для добавления заголовков.

Я должен также упомянуть этот пост: http://blog.pengoworks.com/index.cfm/2007/10/9/Expiring-Session-via-AJAX-using-HTTP-Response-Headers

Другие вопросы по тегам