Вы можете хранить токен в заголовке вашего сообщения без необходимости загрязнения API не соответствующими параметрами. Вот как большинство фреймворков справляются с этим

учше всего выполнять аутентификацию и авторизацию в веб-сервисах?

Я разрабатываю набор веб-сервисов, требующих контроля доступа на основе ролей. Использование метро - SOAP, простой Java без EJB.

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

До сих пор:

Читатьаутентификация с использованием базы данных - но я хочу подтверждение уровня приложения;

Читатьаутентификация приложения с помощью jax-ws - но я не хочу делать механизм аутентификации каждый раз;

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

РЕДАКТИРОВАТЬ:

У меня все еще есть несколько вопросов:

Как узнать имя вызываемого веб-метода?Какой токен я должен использовать?Как передать этот токен между вызовами?

РЕДАКТИРОВАТЬ 2

Из-за ответа @ ag112:

Я использую Glassfish.

Я использую WS-Policy и WS-Security для шифрования и подписи сообщений. Использование взаимной аутентификации сертификата. Я хотел бы дополнить этот уровень безопасности сообщений между приложениями аутентификацией и авторизацией пользователей также на уровне сообщений.

Я просто занимаюсь разработкой сервисов и почти ничего не знаю клиентов, просто они могут быть созданы на разных языках.

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

Ответы на вопрос(4)

Ваш ответ на вопрос