Доступ к HttpServletRequest во время аутентификации DaoAuthenticationProvider в Spring Security
Мне нужно получить доступ кHttpServletRequest
объект из моегоDaoAuthenticationProvider
Весной в безопасности.
Компонент безопасности расширяетDaoAuthenticationProvider
и мы перекрываемauthenticate
метод для выполнения некоторых пользовательских аутентификации / проверки. Дополнительная проверка необходима для проверки IP-адреса пользователя, который указывается в URL-адресе запроса в качестве параметра строки запроса (например:http://domain.com/context?ip=192.168.0.1
).
Текущий подход, который я пытаюсь использовать, заключается в использованииRequestContextHolder
локальный поток и получить запрос http в моем обычаеDAOAuthenticationProvider
.
Некоторые другие решения, которые я читаю здесь и на весенних форумах, кажется, предлагают ввестиAuthenticationDetailsSource
использованиеcustom-filter
и другие шаги, которые я не понимаю из-за того, что плохо знаком с весенней безопасностью.
У нас будут разные веб-приложения, которые используют один и тот же компонент безопасности для выполнения аутентификации.
Может ли кто-нибудь указать мне правильное направление или помочь мне с какими-либо ранее реализованными подходами?