Как лучше всего использовать безопасность в JAX-WS? - PullRequest
3 голосов
/ 05 мая 2010

Вот сценарий: У меня есть несколько веб-сервисов (JAX-WS), которые необходимо защитить. В настоящее время для нужд аутентификации я предоставляю дополнительный SecurityWService, который дает авторизованному пользователю некоторый идентификатор пользователя и идентификатор сеанса, который необходимо описать в запросе к другим службам.

Было бы лучше использовать некоторые средства безопасности Java. У нас их много, но мы не смогли определить, что лучше использовать.

Q1: Понятно, что я должен использовать SSL на транспортном уровне, но что я должен использовать для авторизации пользователя. Есть ли лучший способ установить сеанс, подтвердить пользователя и т. Д.

Вот описание ключа:

  1. Большинство клиентов веб-служб основано на php.
  2. Я использую реализацию jax-ws в качестве EJB сеанса без сохранения состояния.
  3. Развертывание на Glassfish v3.

В2: какова наилучшая инфраструктура / технология для авторизации / аутентификации пользователей в случае использования технологий JSF 2.0 и ejb3.1 (Realms? WSIT?)?

Спасибо!

1 Ответ

1 голос
/ 06 мая 2010

Одно можно сказать наверняка, вы должны использовать HTTPS. SSL - это клей для поддержания безопасного соединения между этими компонентами.

Если существуют службы, которые распределены между различными доменами / серверами, и вам требуется веб-браузер / клиенты для поддержания состояния во всех этих системах, тогда oAuth является хорошим решением. На этом сайте есть имплантация oAuth Java и PHP. oAuth является гибким и удовлетворяет множество потребностей.

Более упрощенный подход заключается в использовании базовой аутентификации HTTP со списком контроля доступа, поддерживаемым базой данных SQL. Состояние сеанса может быть сохранено в базе данных или в компоненте сеанса и доступно для вашего пользовательского веб-сервиса. Это чаще реализуется, чем oAuth.

...