.NET Web服务安全

时间:2009-02-05 15:42:15

标签: .net web-services security authentication

有没有关于以下网络服务如何运作的好例子? 我希望Windows / Web客户端能够访问Web服务,但客户端应该传递用户名,密码和IP地址,并且Web服务应该能够确定它是否在允许的用户列表中在接受请求之前。

提前致谢!

3 个答案:

答案 0 :(得分:1)

使用WCF,您可以使用TransportWithMessageCredential安全性(通过SSL)并提供自己的password validator来执行此操作。但是,此时,您(我被告知)无法访问客户端IP;为此,您需要检查方法本身的IP - 您可以使用RemoteEndpointMessagePropertylike so来执行此操作。

如果您不想沿着TransportWithMessageCredential路线走下去,那么将该用户名和密码作为参数传递给该方法也是有效的(但是笨拙)(只要传输是安全的)。

答案 1 :(得分:1)

我们有一个WebService Login方法,用于验证提供的凭据。如果验证了用户,则返回票证值。

当使用其他所有WebMethod时,此票证将用作SoapHeader。 http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapheader.aspx

答案 2 :(得分:0)

您可以将Web服务设置为使用NT身份验证,该身份验证将获取表示用户名和密码的令牌。允许的用户将由NT安全性定义。就IP地址而言,默认情况下将在HTTP标头中传递。