Что такое хороший способ передать информацию об аутентификации в методы API в PHP NuSoap? - PullRequest
0 голосов
/ 16 января 2012

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

function createComment(articleID, content);

В идеале это создаст комментарий к данной статье и приписывает его пользователю, который прошел аутентификацию.

Аутентификация обрабатываетсячерез http аутентификациюИтак, объект nusoap_server имеет информацию о пользователе.

Как createComment может получить доступ к этой информации?Он ничего не знает о сервере.Я хотел избежать размещения пользовательской информации в глобальном пространстве, но я начинаю думать, что другого простого способа не существует.

Существует ли метод, позволяющий оставить публичную подпись для метода такой же, как указано выше, хотяметод реализации имеет дополнительные аргументы (информация о пользователе)?

1 Ответ

1 голос
/ 16 января 2012

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

...