如何在windows网络的内部网web应用程序中获取用户的用户名

How to get the user's username in my intranet web application in a windows network

本文关键字:用户 应用程序 获取 web 内部网 windows 网络      更新时间:2023-09-26

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

我可以在客户端这样做吗?HTML ?JavaScript ?或者我被迫在服务器端做这件事(我不知道怎么做……然而)

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

顺便说一句,我找到了这篇文章,但我必须承认,我不知道你会在页面的什么地方输入"代码"。

这是我正在使用的代码,不工作。它调用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>

Also - 我使用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;
    }
}

x = x.Replace("DOMAIN''", "");去掉用户帐户的DOMAIN部分,例如NISSAN'rmcdonough

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

相关文章: