我已经创建了一个工作正常的web服务,但现在我需要实现安全性,以便只有我的客户才能访问此服务
webservice在印度托管,客户在英国和西班牙,他们正在尝试访问网络服务网址。
1:现在我需要确保网络服务仅适用于这两个客户端,任何访问此网址的人都不应该获得加入吗?
2:我需要为这两个客户端设置不同的用户名和密码,这样当uk客户端尝试创建代理类时,他还应该输入用户名并通过密码来访问它。
希望我的问题很清楚,我的客户应该使用我的网络服务而不是其他人
答案 0 :(得分: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 :(得分:1)
查看here概述的WCF身份验证和授权功能。