Я довольно новый пользователь Spring Security.
Ранее я настроил Spring Security для выполнения аутентификации на основе форм для своего веб-приложения.
Я использовал аннотации для указания, какие контроллеры/ Методы требуют, чтобы ROLE_USER был анонимным, и я реализовал свой собственный daoAuthenticationProvider для выполнения аутентификации.
Я сейчас внедряю сервисы REST , которым требуется аутентификация на BasicAuthentication + проверка IP для моей БД.
Итак, у меня есть новая роль ROLE_IP_AUTH, которую я определил на контроллере служб REST.
Я немного перегружен на этом этапе.Может ли кто-нибудь дать мне краткое описание следующего шага, который я должен сделать?
- Нужно ли создавать новыйэлемент для новой роли?
- Должен ли я переключаться на этот FilterChainProxy?Если да, то какие фильтры я должен включить?
- Должен ли я просто обработать это в моем существующем классе daoAuthenticationProvider?
По сути, мне просто нужно знать, в каком направлении я иду. Я думаю,Я знаю достаточно, чтобы добраться туда, кажется, есть всего 5 различных способов добраться куда угодно в Spring.
Дополнительная информация Моя текущая реализация имеет элемент, настроенный следующим образом:
<security:http auto-config="false"
entry-point-ref="authenticationEntryPoint" >
<security:logout logout-url="/logout" />
<security:anonymous enabled="false"/>
<security:custom-filter position="FORM_LOGIN_FILTER" ref="usernamePasswordAuthenticationFilter" />
<security:custom-filter position="ANONYMOUS_FILTER" ref="anonymousAuthFilter" />
</security:http>
Мой оставшийся вопрос в том, как я могу реализовать свою собственную проверку IP.Я могу просто добавить фильтр BasicAuth с помощью пользовательского фильтра и реализовать свой собственный базовый фильтр аутентификации, который проверяет IP.Но я не совсем понимаю, как сделать этот фильтр применимым только для ROLE_IP_AUTH, используемого моими службами REST?