Может ли Spring Security поддерживать несколько точек входа? - PullRequest
10 голосов
/ 27 июня 2011

Я имею в виду нужно другое:

  • URL для входа в систему
  • URL выхода
  • URL сеанса
  • провайдер аутентификации
  • страница ошибки
  • CSS

для другой точки входа.

Возможно ли это?

Ответы [ 3 ]

6 голосов
/ 27 июня 2011

Начиная с версии 3.1.0 (которая в настоящее время является бета-версией) он будет поддерживать несколько элементов <http> в пространстве имен.

Такой короткий ответ:

В 3.1.x да.

В версии 3.0.5. ВЫПУСК №.

Более длинный aswer:

Дополнительная информация , проверьтессылки в комментариях также.


Однажды у меня была похожая проблема, так как у меня было несколько точек входа.

Хороший способ ИМО - создать новую страницу входа, которая решаеткакую страницу входа перенаправить или даже вызвать логику других точек входа.Затем вы можете указать пружину на новую страницу.

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

1 голос
/ 09 февраля 2013

Существует org.springframework.security.web.authentication.DelegatingAuthenticationEntryPoint с 3.0.2.Это может помочь.

1 голос
/ 29 июня 2011

Имея несколько элементов <http../>, вы можете достичь большинства из того, что вам нужно, но менеджер аутентификации будет распространен, а это означает, что поставщики аутентификации будут общими.См. Проблему, с которой столкнулся @David Parks, в сообщении Spring Security 3.1.0.RC1: с несколькими элементами, почему я могу зарегистрировать только один менеджер аутентификации? .

Вы можете увидеть мои ответы нааналогичные вопросы, такие как Настройка Spring Security 3.x для нескольких точек входа и Аутентификация пользователя с использованием внешнего веб-сервиса в grails для разработки пользовательского кода для выполнения определенных поставщиков аутентификации для точки входа.Это также может быть реализовано в 3.0.5.

Вы можете реализовать решение в 3.0.5 без нескольких элементов <http../>, но вам потребуется разработать собственный код для обработки страниц выхода и ошибок.

...