Я лично использую весеннюю безопасность для достижения этой цели. Весенняя безопасность позволяет легко использовать различные схемы аутентификации и авторизации (например, путем проверки заголовков основных/дайджеста из HTTP-запроса на базе базы данных или LDAP-сервера). Это не сложно установить с JAX-RS, а также имеет систему, основанную изящная аспект прав, где вы можете делать такие вещи, как
@PreAuthorize ("hasRole („ROLE_ADMIN“) или order.customer.username == user.username) deleteOrder (порядок заказа);
, который гарантирует, что проверка подлинности пользователь должен быть либо в ROLE_ADMIN группы или быть владельцем порядка, чтобы иметь возможность удалить это
Когда это настроено, все, что вам нужно сделать в вашем Ресурс JAX-RS предназначен для обработки исключения безопасности с весны и принятия соответствующего действия (fx. путем выброса WebApplicationException, как описано here)
Если я не ошибаюсь, Spring Security реализуется как фильтр сервлета, поэтому, возможно, не так просто добавить обработчик исключения jax-rs. Я имею в виду, что исключение никогда не достигнет контроллеров JAX-RS. Не могли бы вы рассказать об этой части? Благодарю. –