有沒有什麼好的例子在那裏如何下面的Web服務將工作? 我希望Windows/Web客戶端能夠訪問Web服務,但客戶端應該傳遞用戶名,密碼和IP地址,並且Web服務應該能夠確定它是否位於允許的用戶列表中或而不是在接受請求之前。.NET網絡服務安全
在此先感謝!
有沒有什麼好的例子在那裏如何下面的Web服務將工作? 我希望Windows/Web客戶端能夠訪問Web服務,但客戶端應該傳遞用戶名,密碼和IP地址,並且Web服務應該能夠確定它是否位於允許的用戶列表中或而不是在接受請求之前。.NET網絡服務安全
在此先感謝!
我們有一個WebService Login方法來驗證提供的憑證。如果用戶經過驗證,則返回票證值。
當使用其他WebMethod時,此票據將用作SoapHeader。 http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapheader.aspx
使用WCF,您可以使用TransportWithMessageCredential
安全性(通過SSL)並提供您自己的password validator來執行此操作。然而,在這一點上,你不(我被告知)有權訪問客戶端IP;爲此,您需要在自己的方法中檢查IP - 您可以使用RemoteEndpointMessageProperty
,like so來執行此操作。
如果您不想沿着TransportWithMessageCredential
路線走下去,那麼也可以將用戶名和密碼作爲參數傳遞給方法(只要傳輸是安全的)即可。
那麼你可以設置網絡服務使用NT認證,這將獲得代表用戶名和密碼的令牌。允許的用戶將由NT安全性定義。只要IP地址在默認情況下會在HTTP標頭中傳遞。
它真的會「傳遞」IP地址嗎?或者應該由連接暗示? – 2009-02-05 15:47:52
從我所瞭解的ip地址可以由web服務一旦客戶端發起呼叫來確定。 我想要的是在web服務中設置允許的IP地址列表,並在繼續處理請求之前檢查它是否是有效的用戶以及有效的IP地址。 – Newbie 2009-02-05 20:06:35