Реализация аутентификации соединения PHP SoapServer - PullRequest
1 голос
/ 17 июня 2011

Поиск в Google и, похоже, не может найти определенного решения для этого ...

Я внедряю PHP SOAP-сервер для обработки запросов от конкретного пользователя наших систем.

Мне нужно, чтобы он аутентифицировал подключающегося пользователя не только во время КАЖДОГО запроса через аргументы user / pass, отправляемого функциям SOAP, но и как-то аутентифицировал простое соединение с сервисом.

Реализация функциипроверка подлинности на высоком уровне была простой: первые два аргумента любой функции в системе - user и pass, и мы возвращаем код ошибки в случае, когда передается нераспознанная комбинация user / pass. Сложная часть - аутентификация соединения.

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

Что нужно сделать, чтобы реализовать это в классе PHP SoapServer, который обрабатывает () клиентские запросы?

РЕШЕНО: Кажется, я смог реализовать то, чтоЧтобы использовать файл .htaccess, включенный для BASIC Auth ...

Логин и пароль, переданные клиенту, отправляются на сервер и помещаются в массив php $ _SERVER как PHP_AUTH_USER и PHP_AUTH_PW.PHP проверяет эти значения по отношению к определенному файлу passwd в файле .htaccess и, при просмотре на веб-странице, открывает общее окно пользователя / пароля, что приводит к 401 Несанкционированному, если аутентификация не удалась, и позволяет вам войти в противном случае ... Через SOAPКЛИЕНТ, вы передаете пользовательский пароль с опциями «логин» и «пароль», и этот элемент аутентификации затем обрабатывается в клиенте.

1 Ответ

0 голосов
/ 21 июня 2011

решено: похоже, я смог реализовать то, что пытался использовать файл .htaccess, включенный для BASIC Auth ...

Логин / пароль, переданные клиенту, отправляются на сервер и помещаются в массив php $ _SERVER как PHP_AUTH_USER и PHP_AUTH_PW. PHP проверяет эти значения по отношению к определенному файлу passwd в файле .htaccess и, при просмотре на веб-странице, открывает общее окно пользователя / пароля, что приводит к 401 Несанкционированному, если аутентификация не удалась, и позволяет вам войти в противном случае ... Через SOAP КЛИЕНТ, вы передаете пользовательский пароль с опциями «логин» и «пароль», а затем этот элемент аутентификации обрабатывается в клиенте.

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