2010-08-20 2 views
0

Это больше обсуждения, а не реальный вопрос ...Измените все ссылки на странице, чтобы указать для входа с Spring MVC

Я строю сайт, и я борюсь с тем, как, чтобы заставить пользователь для входа на сайт для доступа к определенным областям и принятия определенных действий. Я использую весеннюю безопасность и хорошо интегрирую ее, однако у меня также есть некоторые вызовы AJAX, которые необходимо защитить, и когда Spring Security перехватывает мои вызовы, она пытается отправить HTML-код для входа в мой обратный вызов AJAX, Мне хорошо.

В переданных приложениях, когда я использовал Struts, я смог переопределить тег html: link и проверить вход в тег и переписать href, чтобы указать на мою страницу входа (вместо моего сценария ajax) Я использую Spring MVC, и у меня нет такой роскоши (если вы можете назвать ее).

Я играю с некоторыми идеями, такими как:

  1. перебирая все мои ссылки на страницы и переписывания HREF из ссылок, которые имеют определенный класс, если пользователь не вошел в систему
  2. Создайте пользовательский тег с нуля
  3. Ditch фантазии AJAX материал

Он похож на другие сайты, такие как, DZone и Digg сделать что-то подобное; поэтому я знаю, что это возможно.

Я ищу любые идеи на данный момент, просто что-то новое, чтобы попробовать, кроме трех вариантов выше. Из трех я думаю, что я больше склоняюсь к №1.

ответ

0

Если я правильно понимаю ваш вопрос, вы спрашиваете, как вы можете обойти защищенные запросы AJAX, возвращающие перенаправления на вашу страницу входа (или сама страница входа) в ваш обработчик AJAX?

Я бы организовал ваше приложение, чтобы звонки на защищенный запрос AJAX выполнялись только со страниц, которые были защищены. Таким образом, гарантируется, что все запросы, которые вы инициируете (со своих собственных страниц), будут работать, и любые запросы, отправляемые из другого места (потенциально злонамеренные) из AJAX или обычных запросов на страницу, будут перенаправлены на страницу входа.