Обработка как формы, так и базовой аутентификации HTTP с разными источниками

У меня уже есть форма входа в систему и базовая аутентификация, работающие бок о бок с помощью DelegatingAuthenticationEntryPoint .

Я пытаюсь сделать так, чтобы пользователи проходили через форму входа в систему для аутентификации по критерию «A», а пользователи, проходящие через базовые запросы аутентификации, аутентифицировались по критерию «B».

Некоторые ресурсы приложения доступны через службу RESTful (доступную через базовую аутентификацию). Вместо того, чтобы заставлять пользователей вводить свои собственные учетные данные для вызова службы REST, они могут вводить сгенерированные пары ключ / значение для использования исключительно со службой REST, которые впоследствии могут быть отозваны пользователем или администратором приложения.

Я бы предпочел разделить как можно больше моих ориентированных на безопасность bean-компонентов между двумя методами аутентификации. Я знаю, что мне понадобятся отдельные UserDetailsService , поскольку форма входа в систему запрашивает мою таблицу users , а базовая аутентификация будет запрашивать мою таблицу service_credentials .

Как правильно реализовать такую ​​конфигурацию в Spring Security?

7
задан skaffman 15 February 2012 в 23:16
поделиться