在 PHP NuSoap 中将身份验证信息传递给 API 方法的好方法是什么?

发布于 2024-12-27 07:51:54 字数 349 浏览 0 评论 0原文

我正在使用 NuSoap 来实现 api 服务器。公共 SOAP API 可能具有如下方法:

function createComment(articleID, content);

理想情况下,这将在给定文章上创建评论并将其归因于经过身份验证的用户。

身份验证通过 http auth 进行处理。因此,nusoap_server 对象具有用户信息。

createComment 如何访问这些信息?它对服务器一无所知。我想避免将用户信息放在全局空间中,但我开始认为没有其他简单的方法。

是否有一种技术允许方法的公共签名保持如上所述,而实现方法具有附加参数(用户信息)?

I am using NuSoap to implement an api server. The public SOAP API may have a method such as:

function createComment(articleID, content);

This would ideally create a comment on the given article and attribute it to the user who was authenticated.

Authentication is being handled via http auth. So, the nusoap_server object has the user information.

How can createComment have access this information? It knows nothing about the server. I wanted to avoid putting the user info in the global space, but I am starting to think there's no other easy way.

Is there a technique that allows the public signature for the method to remain as stated above, while the implementation method has additional arguments (user info)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌能量女王 2025-01-03 07:51:54

SoapServer 旨在提供一种远程调用带有参数的函数的方法。被调用的函数没有任何有关 SoapServer 处理通信以实现此操作的信息 - 它看到的只是传递给它的参数。因此,除非您想将用户凭据作为实际参数添加到函数调用中,否则您需要执行诸如全局注册凭据之类的操作。这不必明确地位于全局范围内。它可以在某个值注册表模式实例中注册。

SoapServer is meant to provide a means to call a function w/ parameters remotely. The function being called doesn't have any information about the SoapServer handling the communication to make this happen--all it sees is the parameter's being passed to it. So unless you want to add the user credentials as actual parameters to the function call then you'll need to do something like registering the credentials globaly. This doesn't have to be in the global scope explicitly. It could be registered in some value Registry pattern instance.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文