【问题标题】:Get Client Computer and user name in local intranet site获取本地 Intranet 站点中的客户端计算机和用户名
【发布时间】:2010-09-07 20:52:11
【问题描述】:

我们一直在使用 IIS7 在本地 Intranet 中运行一个 ASP 应用程序,现在需要获取客户端计算机名称和登录用户名,以便我们可以根据他的设置显示他的主页。我在互联网上进行了搜索,但尚未找到任何解决方案。我也尝试过使用 LOGON_USER 服务器变量,但是当我使用 localhost 运行时它可以正常工作,但在使用 IP 地址时却不行(返回空白值)。我还启用了窗口身份验证并禁用了匿名,但即使我没有设置用户名和密码,我也会提示输入用户名和密码。

【问题讨论】:

    标签: iis-7 asp-classic


    【解决方案1】:

    您将无法直接确定计算机名。您将需要对客户端的 IP 执行反向 DNS 查找。查看下面来自 ASP101 的链接,以在 ASP 经典中完成此操作。

    就用户名而言,您需要在 IIS 中启用身份验证,否则所有传入请求都是匿名的。如果您在受信任的环境中运行,请将 IIS 设置为“集成 Windows 身份验证”。这将允许使用客户端的当前用户信息对您的网站进行身份验证,而无需用户名/密码提示。请注意,集成身份验证不是默认 IIS7 安装的一部分。

    祝你好运。

    基于 ASP 的反向 DNS 查找
    http://www.asp101.com/articles/jason/reversedns/default.asp

    IIS6 和 IIS7 中的集成 Windows 身份验证
    http://blogs.iis.net/nitashav/archive/2010/03/12/iis6-0-ui-vs-iis7-x-ui-series-integrated-windows-authentication.aspx

    【讨论】:

      【解决方案2】:

      您也可以使用 WMI 实现此目的,但是远程计算机和登录用户必须是您拥有管理凭据的域的一部分。您还需要使用反向 DNS 来查找计算机名称,@jking89 在上面给出了很好的参考。看看 WMI Win32_ComputerSystem 类,这里是http://msdn.microsoft.com/en-us/library/aa394102(VS.85).aspx。希望这有助于作为替代解决方案。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 2018-11-17
      • 2018-12-08
      • 1970-01-01
      相关资源
      最近更新 更多