GWT с проблемой Spring Caching Security на странице GWT - PullRequest
0 голосов
/ 13 сентября 2011

Мне показалось странным, что я не смог найти информацию о ком-то с похожей проблемой. Во всяком случае, я интегрировал Spring Security с GWT, и он, кажется, работает правильно ... по большей части. У меня проблема с кэшированием основной html-страницы в IE и Chrome.

Я выделил логин Spring Security для login.jsp, который перенаправляет на мою страницу Application.html (страницу GWT), и когда я впервые запускаю приложение и получаю доступ к странице, кажется, что он работает нормально во всех браузеры. Меня перенаправляют на страницу входа, потому что я не авторизован.

Проблема в том, что в Chrome или IE, если я закрываю браузер после успешного входа в систему и сразу возвращаюсь к этому URL-адресу Application.html, он по-прежнему отображается так, как будто я аутентифицирован. Я заглядываю в консоль, и операторы журнала для весенней безопасности подтверждают, что я не аутентифицирован. В тот момент, когда я нажимаю f5, чтобы обновить страницу, я возвращаюсь к URL-адресу login.jsp.

Я уверен, что это какая-то проблема с кэшированием, потому что когда я закрываю браузер и открываю страницу html, даже если она отображается, как будто я вошел в систему, операторы консоли записывают, что я не являюсь, и если Я запускаю в режиме отладки, OnModuleLoad () в Application.java никогда не получает удар.

Наконец, в Firefox это работает должным образом ... Если кто-то видел эту проблему или у меня есть какой-либо совет относительно того, где мне нужно искать решение, я был бы очень признателен за помощь.

1 Ответ

0 голосов
/ 16 марта 2012

Я столкнулся с похожими проблемами с веб-приложением, над которым я работал. Я попытался запретить браузеру кэшировать страницу, добавив на страницу следующие теги:

<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">

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

<%
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
%>

Мне не удалось воспроизвести проблему в Firefox, Chrome или Safari с момента внесения изменений. Я еще не тестировал страницу в Internet Explorer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...