我正在尝试通过验证调用者的 IP 地址来验证 Web 服务。 Web 服务应该位于网络内部。
并且在尝试这样做时,HttpContext.Current.Request.UserHostAddress有一个奇怪的值,例如“::1”
请参阅下面的调试点屏幕截图。
问题:
- 为什么这不起作用并无法提供正确的客户端 IP?
- 是否有更好的方法来验证内部客户端的 Web 服务?
提前致谢。
最佳答案
- 为什么这不起作用并无法提供正确的客户端 IP?
它确实在工作,您看到“::1”,因为它是 ipv6 AKA localhost 或 ipv4 中的 127.0.0.1 的保留环回地址
IPv6
The loopback address, 0000:0000:0000:0000:0000:0000:0000:0001, may be abbreviated to ::1 by using both rules.
- 是否有更好的方法来验证内部客户端的 Web 服务?
您必须了解身份验证和授权之间的区别,我建议您创建一个新问题,其中包含有关您在网络服务中使用的身份验证方法的更多详细信息
关于c# - 获取 ASMX Web 服务上客户端的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26227571/