6

「.net プログラミングをしたことがありますか? はい? よし、これは大規模な壊れたプログラムです。修正してください」. そんな状況ですので、簡単な質問で申し訳ありません。

私が取り組んでいるプログラムは、Web サーバーからファイルをプルします。ユーザーはすでに Web サーバーにログインしていることが予想されます。サーバーにログインしている現在のユーザーのユーザー名を取得する必要があります (または、誰かが実際にサーバーにログインしていることを確認するだけです)。

以下を試してみましたが、空の文字列が返されます。

user = HttpContext.Current.User.Identity.Name;
4

3 に答える 3

7

Web.Config ファイルで Windows 認証を設定していることを確認してください。ユーザー名にアクセスする前に、次のことも確認してください。

HttpContext.Current.User.Identity.IsAuthenticated

Web.Config を次のように設定します。

<authentication mode="Windows"></authentication>
于 2012-07-03T11:24:49.933 に答える
1

まず、タグのWeb.configファイルをチェックインします。<authentication>見つからない場合は、アプリケーションが標準の認証メカニズムを使用していない可能性があります。その場合login.aspxは、認証を行うコードの内部を調べてください。そこで、ログインしたユーザーデータを取得します。

アプリケーションで何が起こっているのかをしっかりと把握せずに、web.config ファイルで何かを変更することはお勧めしません。

于 2012-07-03T11:36:02.883 に答える
0

オブジェクトのプロパティUserは通常、アプリケーションの認証方式 (フォーム、Windows、またはカスタム) によって設定されるため、User.

詳細については、MSDN のドキュメントを参照してください。

于 2012-07-03T11:30:43.467 に答える