Контроль доступа JAX-RS - PullRequest
       9

Контроль доступа JAX-RS

3 голосов
/ 16 июля 2009

Может кто-нибудь дать мне несколько советов об управлении доступом в веб-сервисах JAX-R. например ограничение доступа на основе учетных данных пользователя, имени или любых других критериев. Не удалось найти какую-либо полезную информацию в руководствах по солнцу.

Спасибо заранее, Adhir

Ответы [ 2 ]

5 голосов
/ 17 декабря 2009

Я лично использую Spring security для достижения этой цели. Безопасность Spring позволяет легко использовать различные схемы аутентификации и авторизации (например, путем проверки заголовков basic / digest из HTTP-запроса к базе данных или серверу LDAP). Это не сложно настроить с JAX-RS , а также имеет изящную систему прав на основе аспектов, где вы можете делать такие вещи, как

@ PreAuthorize ("hasRole ('ROLE_ADMIN') или order.customer.username == user.username) deleteOrder (Заказ заказа);

, который гарантирует, что аутентифицированный пользователь должен быть либо в группе ROLE_ADMIN , либо быть владельцем порядка , которому разрешено удалять его.

Когда это настроено, все, что вам нужно сделать в своем ресурсе JAX-RS , это обработать исключение безопасности из весны и предпринять соответствующее действие (например, выбрасывая WebApplicationException как описано здесь )

3 голосов
/ 27 сентября 2009

Есть много способов, которыми люди достигли этого, и есть множество замечательных тем на этом сайте (см. Рекомендации по защите REST API / веб-службы )

Я лично использую OAuth для выполнения этой задачи. Для получения дополнительной информации об OAuth проверьте Руководство для начинающих по OAuth

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...