Любой пользователь, который пытается получить доступ к некоторым защищенным ресурсам в моем веб-приложении A, должен пройти проверку подлинности с помощью веб-приложения B. B имеет доступ к паролю учетных данных пользователя и т. Д., Я задаюсь вопросом о правильном способе сделать это.
Одной из альтернатив будет иметь фильтр, защищающий мои защищенные страницы.Если пользователь, не прошедший аутентификацию, получает доступ к защищенному ресурсу из A, фильтр перехватывает запрос и перенаправляет браузер на страницу входа в систему B.
B регистрирует пользователя и перенаправляет браузер на защищенную страницу на сервере Aвместе с некоторым идентификатором сеанса B и некоторым токеном, указывающим, что пользователь вошел в систему.
Фильтр перехватывает перенаправление с B на A, извлекает информацию токена аутентификации из заголовка запроса B и регистрирует пользователя вСессия A.
Все последующие запросы от браузера будут проходить токен, установленный B.Фильтр видит этот токен и считает, что пользователь вошел в систему.
Это звучит нормально или я пропускаю большие вещи?
Кроме того, является ли сервлет-фильтр лучшим способом для выполнения этого потока?Как насчет декларативной безопасности в web.xml?Как я могу выполнить тот же поток с использованием декларативной безопасности?