У меня есть приложение, использующее настраиваемый менеджер аутентификации для входа в систему.Это просто поиск по таблице с именем Users.
<sec:authentication-manager alias="authenticationManager">
<sec:authentication-provider user-service-ref="userDAOImpl">
<sec:password-encoder hash="sha" />
</sec:authentication-provider>
</sec:authentication-manager>
Проблема в том, что теперь мне нужно сделать еще один вход в систему, который должен искать в таблице "ExternalUsers".
Приложение будет работать следующим образом:
- Если запрос приходит с URL-адреса, подобного / external / **, мне нужно пройти аутентификациюManager2, который выполняет поиск в таблице «ExternalUsers».Эти пользователи могут получить доступ только к / external / ** urls
- Если запрос приходит с другого URL-адреса, мне нужно пройти аутентификациюManager1 (тот, который у меня есть сейчас), который выполняет поиск в таблице Users.Эти пользователи могут получить доступ ко всем URL-адресам, кроме тех, которые соответствуют шаблону / external / **
В таблицах Users и ExternalUsers могут быть пользователи с одинаковыми именами .Это причина, почему мне нужно установить разные логины в зависимости от URL-адреса, откуда он берется.Оба логина должны быть в одном приложении.
Возможно ли в Spring настроить два разных аутентификацииManager каждый в зависимости от URL-адреса запроса, куда он поступает?
Спасибо