3

我在内部有一个简单的 HTML 页面,它只显示一个表单并要求用户填写它。我想自动捕获 windows 域用户名和机器名,以将其与表单中收集的数据一起提交。

我可以在客户端这样做吗?HTML?JavaScript?或者我是否被迫在服务器端做(我不知道该怎么做......但是)

用户有XP和7机器和IE7,8。

顺便说一句,我找到了这篇文章,但我不得不承认我不知道你会在页面的哪个位置输入那个“代码”。

这是我正在使用的代码不起作用。它调用 JavaScript 函数,并"Username="在下一行显示 and "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

4

2 回答 2

1

在非 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;
    }
}

删除用户帐户的 x = x.Replace("DOMAIN\\", "");DOMAIN 部分,例如 NISSAN\rmcdonough

于 2013-01-16T13:35:39.977 回答
-2

捕获windows域用户名和机器名,我想我们不能

于 2017-07-11T02:45:05.290 回答