Браузер запоминает содержимое страницы и не проверяет html-файл через Spring Security - PullRequest
0 голосов
/ 25 мая 2011

У меня есть веб-приложение, у которого есть стартовая страница, которая может перенаправлять на две другие страницы. Начальная страница не имеет защиты, одна страница предназначена для доступа на уровне пользователя, а одна страница - для доступа администратора. Это просто базовые html-страницы, которые загружают довольно много javascript поверх них.

Похоже, что браузер запоминает html, css и структурный javascript и отображает страницу, хотя ни одна из моих функций javascript onload не запускается, потому что им требуется соединение с сервером, которое не проходит проверку разрешений, поскольку не было входа в систему.

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

Я использую Spring Security. Есть ли способ заставить html проходить через фильтр безопасности и не давать браузеру делать свое дело?

1 Ответ

1 голос
/ 25 мая 2011

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

<%
response.setHeader("Cache-Control","no-cache"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevent caching at the proxy server
%>

(обратите внимание, что заголовки должны быть установлены до того, как JSP фиксирует заголовок ответа, выполняя что-то для записи вывода. Таким образом, вышеприведенное должно быть в самом начале JSP.)

Если это не сработает, можно воспользоваться еще одним приемом - добавить одноразовый запрос в конец URL-адреса для страницы HTML (например, http://example.com/foo.html?q=<random-number>) и изменять одноразовый номер при каждой отправке URL-адреса..


Однако, в конечном счете, у вас нет способа заставить непокорный браузер обновить / обновить страницу.В конечном счете, вы должны согласиться с тем, что ваш Javascript может не работать ... и вы не должны полагаться на него для реализации проверок безопасности веб-интерфейса / контроля доступа.(Не то чтобы я это говорил. Просто не ...)

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