Ваш вопрос запутывает те самые вещи (authn / authz, то есть политику и приложение), которые вы хотите распутать. Ответ, который вы ищете, требует разделения этих проблем.
«Стандартный» ответ состоит в том, чтобы отделить политику authn / authz, обычно используя PEP (точку применения политики) для обеспечения выполнения решений, принятых PDP (точка принятия решения). SAML предоставляет стандарты для связи между ними.
Вы закрываете свое приложение (и, как правило, многие другие), защищенное PEP. Это может быть встроено в приложение (например, как перехватчик Tomcat), но лучше, если оно работает в отдельном контейнере в качестве прокси. Единственное, что доступно снаружи - это ПКП. Это проверяет каждый запрос, гарантирует, что пользователь прошел проверку подлинности, и (для единого входа) гарантирует, что каждый запрос содержит маркер безопасности.
Если нет, PEP перенаправляет запрос в PDP для аутентификации (экран входа в систему). PDP присоединяет маркер безопасности и перенаправляет запрос обратно в PEP. Поскольку в запросе теперь есть действительный токен, PEP перенаправляет его в приложение за брандмауэром.