我内部有一个简单的HTML页面,它只显示一个表单并要求用户填写它。我想自动捕获Windows域用户名和机器名,以便将其与表单中收集的数据一起提交。
我可以在客户端这样做吗? HTML? JavaScript的?或者我被迫在服务器端(我不知道该怎么办......)
用户拥有XP和7台机器以及IE7,8。
顺便说一句,我找到了this article,但我不得不承认我不知道你在页面的哪个地方输入那个“代码”。
这是我正在使用的代码不起作用。它调用JavaScript函数,并在下一行"Username="
中显示"Done."
,但不显示用户名。
如果使用Chrome,它会显示<%HttpContext.Current.User.Identity.Name%>
。
<html lang="en">
<head>
<script>
function get_user_Name() {
var username = '<%HttpContext.Current.User.Identity.Name%>';
document.write("Username=");
document.write(username);
document.write(" <br> Done.");
}
</script>
<meta charset="utf-8" />
<title>Training and Development Site</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
</head>
<body>
<a href="add-number-to-dnc.html">Add Phone Number to Dialer Do Not Call list</a>
<br><br>
<button type="button" onclick="get_user_Name()">Display User Name</button>
</body>
</html>
另外 - 我正在使用WebMatrix / IIS7 Express
在无IIS服务器上仅使用javascript,则无法实现。
然而:
如果您使用的是IIS,则可以使用以下JS:
<script language="javascript">
var username = '<%HttpContext.Current.User.Identity.Name %>';
</script>
假设您已在IIS中为您的站点启用了Windows身份验证,那么C#侧:
C#
public string user_Name
{
get
{
string x = Page.User.Identity.Name;
x = x.Replace("YOURDOMAIN\\", "");
return x;
}
}
qazxsw poi删除了用户帐户的DOMAIN部分,例如NISSAN \ mcdonough
捕获Windows域用户名和机器名,我想我们做不到