Измените все ссылки на странице, чтобы они указывали для входа в Spring MVC - PullRequest
0 голосов
/ 20 августа 2010

Это скорее дискуссия, а не реальный вопрос ...

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

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

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

  1. Перебирая все мои ссылки на странице и переписывая ссылки, которые имеют определенный класс, если пользователь не вошел в систему
  2. Создайте пользовательский тег с нуля
  3. Откажитесь от причудливых вещей AJAX

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

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

1 Ответ

0 голосов
/ 19 января 2011

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

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

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