Вот сценарий: у меня есть некоторые веб-службы (JAX-WS), которые необходимо защитить. В настоящее время для проверки подлинности я предоставляю дополнение SecurityWService, которое дает авторизованному пользователю некоторый идентификатор пользователя и sessionid, который должен быть описан в запросе другим службам.
Было бы лучше использовать некоторую защиту Java. У нас их много, но они не могли определить, что лучше использовать.
Q1: Понятно, что я должен использовать SSL в транспортном уровне, но что я должен использовать для авторизации пользователя. Есть ли лучший способ создания сеанса, проверки пользователя и т. Д.?
Вот несколько ключевых описаний:
Q2: какова лучшая структура / технология авторизации / аутентификации пользователей в случае использования технологий JSF 2.0 и ejb3.1 (Realms? WSIT?)?
Спасибо!
Одно можно сказать наверняка, вы должны использовать HTTPS. SSL – это клей для обеспечения безопасного соединения между этими компонентами.
Если есть службы, которые распространяются между разными доменами / серверами, и вам требуется, чтобы веб-браузер / клиенты поддерживали состояние во всех этих системах, тогда oAuth является хорошим решением. На этом сайте есть имплантация Java и PHP oAuth. oAuth является гибким и наполняет множество потребностей.
Более упрощенный подход заключается в использовании базовой проверки подлинности HTTP с помощью списка управления доступом, поддерживаемого базой данных SQL. Состояние сеанса можно сохранить в базе данных или в сеансовом компоненте и получить доступ к вашему пользовательскому веб-сервису. Это чаще реализуется, чем oAuth.