有没有关于以下网络服务如何运作的好例子? 我希望Windows / Web客户端能够访问Web服务,但客户端应该传递用户名,密码和IP地址,并且Web服务应该能够确定它是否在允许的用户列表中在接受请求之前。
提前致谢!
答案 0 :(得分:1)
使用WCF,您可以使用TransportWithMessageCredential
安全性(通过SSL)并提供自己的password validator来执行此操作。但是,此时,您(我被告知)无法访问客户端IP;为此,您需要检查方法本身的IP - 您可以使用RemoteEndpointMessageProperty
,like 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标头中传递。