繁体   English   中英

从Web服务中检索客户端用户名和计算机名

[英]Retrieving client user name and computer name from within webservice

我在服务器上有Web服务! 此服务正在从客户端应用程序调用!

现在如何获取使用该服务的客户端的用户名和计算机名,例如,如果来自Clint1的应用程序调用了该服务,我想获取Clint1的计算机名和用户名?

非常感谢!

您确实不能可靠。

服务器变量REMOTE_HOST可以为您提供它,但是在大多数情况下,它将是一个IP地址,并且很可能是代理的IP地址。 另外-这很容易被欺骗。

用户名( REMOTE_USER )也是一样,除非您使用某种WS-Security机制来验证调用您的Web服务的用户。

客户端将必须将此信息传递给服务。

正如Wim所说,您无法可靠地获得此信息。 对于有保证的Windows网络,您可以使用server变量检索(通过计算机的)当前经过身份验证的用户:

System.Web.HttpContext.Current.Request.ServerVariables("LOGON_USER")

REMOTE_HOST变量应该返回计算机名称,但是在大多数情况下(如他所说),它将只是一个IP地址。

即使在局域网上,也不建议这样做。 该信息仍然可以在本地被欺骗,从而为内部用户提供了像其他用户一样伪装的能力。 如果仅将其用于标识(而不是认证或授权),则可能“足够好”。 如果您维护一个小的数据表(或网络团队),将每个PC标识为其预期的IP地址,则此信息将实现您想要的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM