13

Web アプリケーションの使用時に HttpContext.Current.User.Identity.Name を使用してユーザー名を取得しています。開発中、統合 Windows 認証を有効にし、匿名アクセスを有効および無効にして、ローカルの iis を使用していましたが、ユーザー名を取得できました。

ここで、Web アプリケーションを公開すると、空白に戻ります。公開されたサーバーでの設定は同じで、Page.User.Identity.Name を使用してみましたが、これも空白を返しました。

これがなぜなのか、それを修正する方法を知っている人はいますか?

4

8 に答える 8

17

おそらく、匿名認証と Windows 認証がオンになっているはずです。匿名をオフにします。

そう、

<system.web>
    <authentication mode="Windows" />
</system.web>

アプリの IIS 構成で、[認証] タブを確認します。

Set **Anonymous Authentication** to **Disabled** and
Set **Windows Authentication** to **Enabled**

これは機能し、Identity.UserName が正しく表示されるはずです。

于 2013-11-22T17:35:33.897 に答える
1

<authentication mode="Forms">web.config ファイルに設定 すると、問題が解決します。

以下のコードを使用して Web サイトをテストします

if (Page.User.Identity.Name != "" ) { Label1.Text = "Hello"; } else { Response.Redirect("login.aspx?url=Upload.aspx"); }

于 2013-10-24T17:09:51.560 に答える
1

WIF を使用する場合は、User.Identity.Name の代わりに Thread.CurrentPrincipal.Identity.Name を使用する必要があります。

Windows Identity Foundation の詳細については、 http : //msdn.microsoft.com/en-us/magazine/ff872350.aspxを参照してください。

同様の質問: WIF 経由で認証した後、User.Identity.Name が null です

于 2013-02-28T15:23:20.740 に答える
0

空白の返品の場合、私の解決策はweb.configになりました。Visual Studio 2010 を使用していますが、既定の web.config が機能しませんでした。私はそれをほぼ空のweb.configに置き換えてから成功しました! おそらく、デフォルトの vs2010 web.config が呼び出した参照が多すぎるか、User.Identity.Name を使用するために IIS が正しく構成されていません。私のシステムは Windows7 です。

vs2010 のデフォルトの asp.net Web サイト web.config は、約 100 ~ 115 行の長さでした。以下に示すように、ほとんど空の web.config の長さは約 20 行です。


私が使用したweb.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

  <system.web>
   <authentication mode="Windows" />
   <authorization>
      <allow roles="Doman Name\Group Name" users="" />
      <deny users="*" />
   </authorization>

  </system.web>

  <system.webServer>
    <modules runAllManagedModulesForAllRequests="true" />
        <security>
            <authorization>
                <add accessType="Allow" users="" roles="Doman Name\Group Name" />
            </authorization>
        </security>
  </system.webServer>

</configuration>
于 2013-01-18T16:53:22.767 に答える
0
  1. IIS の場合:サイトをクリックします
  2. ホームページ:認証.
  3. [アクション] メニュー:機能を開く
  4. 匿名認証を無効にします。
  5. サイトを再起動します

ステップ1、2、3

ステップ4

于 2021-03-04T23:21:23.753 に答える