Как сделать аутентификацию с помощью SOAP?

Как я аутентифицирую пользователей с SOAP?

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

Разве это, кажется, не вызывает ненужные запросы?

13
задан k0pernikus 12 May 2015 в 09:05
поделиться

3 ответа

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

Интерфейсы SOAP не должны иметь состояния, как HTTP, так что это кажется нормальным следствием.

3
ответ дан 1 December 2019 в 23:14
поделиться

Более простой способ состоял бы в аутентификации по первому запросу, построении записи сеанса на стороне сервера, содержащей удаленный IP-адрес и токен, который вы даете клиенту в качестве authToken. Затем попросите клиента передать этот authToken в будущих запросах. Этот authToken должен соответствовать внутренним данным сеанса, которые вы храните о клиенте, но он позволит вам избежать необходимости совершать обратные обращения к базе данных только для аутентификации.

Тем не менее, @Marcus Adams имеет хороший аргумент ниже относительно безгражданства. Есть люди, продвигающие всевозможные модели безопасности SOAP . WS-Security - это современный уровень техники, здесь. Все они работают, помещая информацию для аутентификации в заголовок SOAP - в конце концов, именно поэтому сообщение SOAP содержит и заголовок, и часть тела.

9
ответ дан 1 December 2019 в 23:14
поделиться

Определите настраиваемый заголовок SOAP и обмен учетные данные аутентификации в заголовке. Прочтите значения из заголовка и выполните аутентификацию.

3
ответ дан 1 December 2019 в 23:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: