Spring Security и внешнее приложение для аутентификации (единый вход)

У меня есть приложение на основе Spring, которое предоставляет пользователю 3 варианта аутентификации. На основе форм, Facebook Connect и единый вход из внешнего приложения. Я не уверен в правильности способа аутентификации последнего варианта.

Приложение A (на основе Spring Security) Приложение B (устаревшее приложение на основе Spring)

Поток безопасности: - когда запрашивается защищенный ресурс в приложении A, а пользователь не аутентифицирован, приложение A перенаправляет в приложение B, где пользователю будет предложено ввести форму входа в систему, и будет проходить через поток безопасности приложения B. Затем приложение B выполнит HTTP-запрос POST к приложению A (через параметр URL-адреса обратного вызова, отправленный с начальным запросом), который состоит из XML, который будет проверен в приложении A на его достоверность, и, если он пройдет, пользователь должен пройти проверку подлинности в приложении A. Что лучший подход для этого сценария с использованием Spring Security?

1 ответ

Решение

Пожалуйста, см. Настройка Spring Security 3.x, чтобы иметь несколько точек входа. Так же, как @limc сделал в этом вопросе, вы можете создать два разных токена и два провайдера для обработки аутентификации. Но я думаю, что вы будете в порядке с одним провайдером, и в этом случае вам придется передавать разные данные в токене аутентификации (поскольку я предполагаю, что в XML не будет пароля) и на основе данных в деталях провайдер будет аутентифицировать пользователя (без пароля).

Другие вопросы по тегам