3

フォームを表示し、ユーザーに入力を求める単純な HTML ページを内部に持っています。Windows ドメインのユーザー名とマシン名を自動的に取得して、フォームで収集したデータと一緒に送信したいと考えています。

クライアント側でそれを行うことはできますか?HTML? JavaScript? または、サーバー側でそれを行うことを余儀なくされていますか(方法はわかりません...まだ)

ユーザーは XP と 7 のマシンと IE7、8 を持っています。

ところで、私はこの記事を見つけましたが、ページのどこにその「コード」を入力するのかわかりません。

これが私が使用しているコードで、動作していません。JavaScript 関数を呼び出し、"Username="次の行"Done."に and を表示しますが、ユーザー名は表示しません。

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\\", "");NISSAN\rmcdonough などのユーザー アカウントの DOMAIN セクションを取り除きます。

于 2013-01-16T13:35:39.977 に答える