поставщик аутентификации Spring VS фильтр обработки аутентификации - PullRequest
13 голосов
/ 12 июня 2009

провайдеру аутентификации Spring и фильтру обработки аутентификации также необходимо зарегистрироваться в authenticationManager?

провайдер аутентификации, я могу использовать тег нестандартного провайдера аутентификации

а чем отличается провайдер аутентификации Spring и фильтр обработки аутентификации?

Ответы [ 2 ]

14 голосов
/ 13 июня 2009

Менеджер аутентификации использует все провайдеры аутентификации для аутентификации токенов аутентификации, которые он должен аутентифицировать.

Фильтр обработки аутентификации просто добавляет токен (имя пользователя, пароль). Другие фильтры тоже добавляют токены. Например, AnonymousProcessingFilter.

Идея состоит в том, чтобы отделить генерацию токена от аутентификации токена. Таким образом, вы можете легко реализовать такие вещи, как аутентификация по нескольким источникам.

Обычный случай - один провайдер на генератор токенов.

2 голосов
/ 20 октября 2018

Согласно Spring Security Architecture процесс выглядит так:

  1. Фильтры используются для перехвата http-запроса и выполнения некоторых проверок
  2. Некоторые фильтры выполняют проверку информации авторизации в заголовках запросов, теле, файлах cookie и т. Д. Вы можете называть их Фильтром обработки аутентификации
  3. Фактическая работа для аутентификации выполняется другой стороной, называемой провайдером аутентификации, потому что фильтр вызовет провайдера, если реализация нуждается в этом.
  4. Может случиться так, что между фильтром и провайдером может остаться диспетчер провайдеров, который может обзвонить всех провайдеров по одному и посмотреть, смогут ли некоторые из них справиться с этим, если так: то сделайте это.

См. Пример здесь: фильтр вызывает менеджера провайдеров , чтобы найти провайдера , который поддерживает эту аутентификацию и если да, то аутентифицируется

  1. RememberMeAuthenticationFilter
  2. ProviderManager

Здесь вы можете найти хороший пример того, как реализовать пользовательский фильтр: Пользовательский фильтр @ Baeldung

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

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