2011-07-16 108 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身份验证和授权功能。