какой фильтр отвечает за сохранение объекта аутентификации в контексте безопасности в весенней безопасности - PullRequest
0 голосов
/ 24 февраля 2019

Насколько мне известно, большинство фильтров аутентификации расширяет AbstractAuthenticationProcessingFilter и переопределяет attemptAuthentication метод, который вызывается в методе dofilter, но я не вижу, как объект authentication помещается в securitycontext, потому что *Для 1006 * in abstractauthenticationprocessinfilter установлено значение NullAuthenticatedSessionStrategy, которое ничего не делает в методе onAuthentication, поэтому как именно работает защита

1 Ответ

0 голосов
/ 24 февраля 2019

Вы правы.AbstractAuthenticationProcessingFilter отвечает за размещение Authentication в SecurityContext. Это делается внутри successAuthentication () .В его javadoc также указывается такое поведение:

Поведение по умолчанию для успешной аутентификации.

  1. Устанавливает объект успешной аутентификации в SecurityContextHolder
  2. Информирует сконфигурированные RememberMeServices ofуспешный вход в систему
  3. Запускает InteractiveAuthenticationSuccessEvent через настроенный ApplicationEventPublisher
  4. Передает дополнительное поведение AuthenticationSuccessHandler.

Упомянутое вами SessionAuthenticationStrategy (котороезначение NullAuthenticatedSessionStrategy по умолчанию) предназначено для подключения другого поведения, связанного с HttpSession, когда происходит аутентификация, например, для обеспечения наличия сеанса или защиты от атак фиксации сеанса.Поведение по умолчанию (т. Е. successAuthentication () ) всегда будет работать независимо от того, для какой стратегии оно установлено.

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