在本地Intranet站点中获取客户端计算机和用户名

时间:2010-09-07 20:52:12

标签: iis-7 asp-classic

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

2 个答案:

答案 0 :(得分:0)

您将无法直接确定计算机名称。您需要在客户端的IP上执行反向DNS查找。从ASP101中查看以下链接,以便在ASP classic中完成此任务。

就用户名而言,您需要在IIS中启用身份验证,否则所有传入的请求都将是匿名的。如果您在受信任的环境中运行,请为“集成Windows身份验证”设置IIS。这将允许客户端的当前用户信息用于向您的网站进行身份验证,而无需用户ID /密码提示。请注意,集成身份验证不是默认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

答案 1 :(得分:0)

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

相关问题