Как получить имя пользователя в моем веб-приложении для внутренней сети в сети Windows

У меня есть простая внутренняя 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>

Также - я использую WebMatrix / IIS7 Express

2 ответа

Используя только javascript на сервере без IIS, это невозможно.

Тем не мение:

Если вы используете IIS, вы можете использовать следующие JS:

<script language="javascript">
    var username = '<%HttpContext.Current.User.Identity.Name %>';

</script>

Предполагая, что вы включили проверку подлинности Windows в IIS для своего сайта, а затем на стороне 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 и имя машины, я думаю, что мы не можем

Другие вопросы по тегам