Существует ли перехватчик Spring, который вызывается перед UsernamePasswordAuthenticationFilter? - PullRequest
5 голосов
/ 19 сентября 2011

Я хочу вызвать метод до UsernamePasswordAuthenticationFilter . attemptAuthentication() (и до обработки любых других запросов в приложении).

Я попытался вызвать метод в HandlerInterceptorAdapter . preHandle(), но это не срабатывает до attemptAuthentication(), хотя оно заботится о других типах запросов.

Есть ли перехватчик Spring, который вызывается до UsernamePasswordAuthenticationFilter

Ответы [ 2 ]

4 голосов
/ 11 октября 2011

Полагаю, вы говорите о цепочке пружинных фильтров безопасности.

Фильтры с этими именами должны вызываться до UsernamePasswordAuthenticationFilter

  • ПЕРВЫЙ
  • CHANNEL_FILTER
  • CONCURRENT_SESSION_FILTER,
  • SECURITY_CONTEXT_FILTER
  • LOGOUT_FILTER
  • X509_FILTER
  • PRE_AUTH_FILTER
  • CAS_FILTER

Подробнее см. Исходный код org.springframework.security.config.http.SecurityFilters.


Но вы также можете использовать before:

<security:custom-filter ref="myFiler" before="FORM_LOGIN_FILTER" />
3 голосов
/ 19 сентября 2011

Нет - перехватчики являются частью Spring MVC, который начинается с DispatcherServlet.Фильтры вызываются перед сервлетами.

Если вы хотите вызвать что-то до UsernamePasswordAuthenticationFilter, перед этим фильтром должен быть установлен фильтр.

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