2012-01-16 19 views
0

我正在使用NuSoap來實現api服務器。公共SOAP API可以有一個方法,如:將身份驗證信息傳遞給PHP NuSoap中的API方法的一種好方法是什麼?

function createComment(articleID, content); 

這將創造最好在給定的文章評論,並把它歸功於誰被認證的用戶。

通過http認證處理認證。所以,nusoap_server對象有用戶信息。

createComment如何才能訪問此信息?它對服務器一無所知。我想避免將用戶信息放在全局空間中,但我開始認爲沒有其他簡單的方法。

是否有一種方法允許方法的公共簽名保持上述狀態,而實現方法有附加參數(用戶信息)?

回答

1

SoapServer旨在提供一種方法來遠程調用帶參數的函數。被調用的函數沒有任何關於處理通信的SoapServer的信息來實現這一點 - 它看到的只是傳遞給它的參數。所以,除非你想將用戶憑證作爲實際參數添加到函數調用中,否則你需要執行一些操作,比如全局註冊憑證。這不必明確地在全球範圍內。它可以在某些值註冊表模式實例中註冊。

+0

這就是我最終做的。我希望保持一切更整齊,避免全局性,但它不實際。 我的實現函數存在於類中。他們每個人都有對AUTH params的爭論。然後我編寫了包裝它的全局函數。每個全局函數訪問「註冊」auth對象並將其傳遞給實現函數。 唉,如果PHP有decorator這個解決方案會更簡單。 – Dave 2012-01-24 20:06:04

+0

我可以看到代碼嗎?謝謝 – butching 2014-05-26 07:50:25

相關問題