0

Request.ServerVariables(“LOGON_USER”)変数を使用して、ASP.NET ページで認証済みのユーザー名を取得しようとしています。それは私に空の文字列を与えます。この変数については多くのトピックがあります。共通点は、None 以外の認証タイプを使用し、匿名アクセスを拒否していることです。だから私は私の中にこれらの行を追加しましたweb.config:

<authentication mode="Forms"/>
<authorization>
  <deny users = "?" /> <!-- This denies access to the Anonymous user -->
  <allow users ="*" /> <!-- This allows access to all users -->
</authorization>

私はまだ空の文字列を取得します。ユーザー名を取得するにはどうすればよいですか?

また試しました:

Request.ServerVariables["REMOTE_USER"];
Request.ServerVariables["UNMAPPED_REMOTE_USER"];
Request.ServerVariables["AUTH_USER"];
HttpContext.Current.User.Identity.Name;
4

1 に答える 1

0

最終的に修正されました。を使用する場合は、IIS で匿名アクセスを無効Request.ServerVariables(“LOGON_USER”)にする必要があります。

PS: 匿名アクセスを無効にすると、無限のログイン リダイレクト ループなどの副作用があります。

于 2014-11-24T22:16:36.840 に答える