如何在Windows网络中的Intranet Web应用程序中获取用户的用户名

问题描述 投票:2回答:2

我内部有一个简单的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

javascript html
2个回答
0
投票

在无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


-2
投票

捕获Windows域用户名和机器名,我想我们做不到

© www.soinside.com 2019 - 2024. All rights reserved.