Самым масштабируемым способом является разработка URL-адресов таким образом, чтобы посреднику было тривиально узнать, какие ресурсы доступны для всех, а какие - только для конкретных пользователей.
Тогда авторизация может выполнить прокси-фильтр или сервлет-фильтр или любой другой, который соответствует вашим текущим потребностям, блокируя все неавторизованные запросы.
Реальный сервис теперь может слепо доверять и обслуживать все запросы, которые его достигают.
Разделение интересов и все такое.
Пример:
Неаутентифицированные запросы могут достигать:
/myapi/public
Запрос аутентификации с именем пользователя "joe" также может достигать:
/myapi/personal/joe
401 Несанкционированный:
/myapi/personal/anything_but_joe
Убедитесь, что / myapi / personal / otheruser и / myapi / personal / nonexistentuser возвращают неразличимые ответы.