【问题标题】:How to get system(windows) username using javascript from the internet explorer browser?如何使用 javascript 从 Internet Explorer 浏览器获取系统(Windows)用户名?
【发布时间】:2023-03-09 03:53:01
【问题描述】:

我正在开发一个将在局域网中运行的asp.net 项目。
此局域网中的每个用户都有自己的系统用户名。
此应用程序将仅在 Internet Explorer 浏览器上运行。
我想用其用户名识别每个客户。
有没有办法使用javascript来做到这一点?

【问题讨论】:

  • 你提到你正在使用 ASP.NET。如果解决方案在服务器端代码而不是 Javascript 中,它会为您工作吗?另外,您对网站使用什么类型的身份验证?
  • 有什么理由不使用 HttpContext?如果它在 asp.net 中会更容易吗?

标签: javascript asp.net internet-explorer lan


【解决方案1】:

理论上这应该适用于 Internet Explorer,但如果浏览器上的安全设置被锁定,则可能会失败。

var wshshell=new ActiveXObject("wscript.shell");
var username=wshshell.ExpandEnvironmentStrings("%username%");
alert('hello, ' + username);

此外,isn't guaranteed 到 100% 的时间都与他们的实际 AD 登录名匹配。

如果您使用的是 ASP.NET,则可以使用Request.ServerVariables("AUTH_USER") 在服务器端脚本中更可靠地执行此操作,如果您使用的是基于表单的身份验证,则可以使用其他技术。

【讨论】:

  • 我想在不要求用户名的情况下识别用户。我使用 Windows 身份验证,并且 Request.ServerVariables("AUTH_USER") 仅在我使用 iis 从同一台机器浏览站点时才起作用。我尝试了javascript命令,当我将ie安全级别设置为低并将activex设置为“启用”(来自“提示”)时它们工作正常。
猜你喜欢
  • 1970-01-01
  • 2014-04-11
  • 1970-01-01
  • 1970-01-01
  • 2011-11-16
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
  • 2019-11-01
相关资源
最近更新 更多