如何在web服务中实现安全性

本文关键字:实现 安全性 服务 web | 更新日期: 2023-09-27 18:02:11

我已经创建了一个工作良好的web服务,但现在我需要实现安全性,以便只有我的客户端可以访问此服务

web服务托管在印度,客户端在英国和西班牙,他们正在尝试访问web服务的url。

1:现在我需要确保web服务只对这两个客户端可用,任何访问此url的人都不应该被给予访问者?

2:我需要为这两个客户端设置不同的用户名和密码,以便当英国客户端试图创建代理类时,他也应该输入用户名和密码来访问它。

希望我的问题是明确的,我的客户端应该使用我的web服务,而不是其他人

如何在web服务中实现安全性

您应该使用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

查看这里列出的WCF身份验证和授权功能。