2011-07-16 147 views
0

我已經創造了做工精細的web服務,但現在我需要implemet安全性,因此只有我的客戶可以訪問此服務如何實現在web服務安全

web服務在印度舉行,客戶是英國和西班牙,他們正試圖訪問Web服務的網址。

1:現在我只需要爲這兩個客戶誰訪問此網址的任何一個不應該被賦予accees確保Web服務可用?

2:我需要這樣,當英國的客戶端嘗試創建一個代理類,他也應該輸入用戶名和passowed訪問它來設置用戶名和密碼這2個客戶端不同。

希望我的問題是明確的,就是我webserice應該由我的客戶不是別人

回答

1

您應該使用SSL的服務正在運行的站點加密使用。然後實現一個自定義的SoapHeader。

public class SoapAuthenticationHeader : SoapHeader 
{ 
    public string UserName { get; set; } 
    public string Password { get; set; } 
} 

您還可以包含API密鑰或其他一些身份驗證方法。

public SoapAuthenticationHeader AuthHeader; 

[SoapHeader("AuthHeader")] 
[WebMethod()] 
public ServiceResponse<bool> Update(int clientId) 

更多參考,http://msdn.microsoft.com/en-us/library/77hkfhh8.aspx

1

看一看概述here的WCF身份驗證和授權功能。