web-dev-qa-db-ja.com

Visual Studioからプロジェクトを実行すると、Windows認証が機能しません

IISでASP.NET MVCプロジェクトをホストすると、Windows認証が適切に機能します。しかし、Visual Studioから実行すると、実行されません。

ここに私のWeb.configがあります:

<authentication mode="Windows" />
<authorization>
  <deny users="?" />
</authorization>

何か不足していますか?

18
Andrei

IIS Express(おそらくそうする必要があります)でホストしている場合は、WebアプリケーションのプロパティでWindows認証を有効にしていることを確認してください。

ちなみに、イントラネットアプリケーションテンプレートを使用してVisual Studioで新しいASP.NET MVC 4アプリケーションを作成すると、画面に次のReadmeが表示されます。だから、試してみて、読んで、そこに書かれていることに従ってください:

このテンプレートをWindows Azure認証で使用するには、 http://go.Microsoft.com/fwlink/?LinkID=26794 を参照してください。

それ以外の場合、このテンプレートをWindows認証で使用するには、以下の手順を参照してください。

IIS Expressでのホスティング:

  1. ソリューションエクスプローラーでプロジェクトをクリックして、プロジェクトを選択します。
  2. プロパティペインが開いていない場合は、開きます(F4)。
  3. プロジェクトの[プロパティ]ペインで:
    a)「匿名認証」を「無効」に設定します。
    b)「Windows認証」を「有効」に設定します。

IIS 7以降のホスティング:

  1. IISマネージャを開き、Webサイトに移動します。
  2. [機能ビュー]で、[認証]をダブルクリックします。
  3. [認証]ページで、[Windows認証]を選択します。 Windows認証がオプションでない場合は、Windows認証がサーバーにインストールされていることを確認する必要があります。

WindowsでWindows認証を有効にするには:

a)コントロールパネルで[プログラムと機能]を​​開きます。 b)[Windowsの機能を有効または無効にする]を選択します。 c)[インターネットインフォメーションサービス]> [World Wide Webサービス]> [セキュリティ]に移動し、Windows認証ノードがオンになっていることを確認します。

WindowsサーバーでWindows認証を有効にするには:

a)サーバーマネージャーで、[Webサーバー(IIS)]を選択し、[役割サービスの追加]をクリックします。 b)Webサーバー>セキュリティに移動し、Windows認証ノードがチェックされていることを確認します。

  1. [操作]ウィンドウで、[有効にする]をクリックしてWindows認証を使用します。
  2. [認証]ページで、[匿名認証]を選択します。
  3. [操作]ウィンドウで、[無効にする]をクリックして匿名認証を無効にします。
33
Darin Dimitrov

@Darin Dimitrovソリューションをうまく動作させることができませんでした(主に、IIS Visual Studioで説明されているExpress設定が見つからなかったためです!))。

IIS Express application.configファイルを編集する必要があることがわかりました。

  • visual Studio 2013では、これは%userprofile%\documents\iisexpress\configにあります
  • visual Studio 2015では、これはソリューションの非表示の.vsフォルダーのconfigフォルダーにあります(Windowsエクスプローラーで\.vs\configを追加するだけです)。

修正:

<windowsAuthentication enabled="false">

に:

<windowsAuthentication enabled="true">
3
SharpC