250

IISExpressとVS2010を使用してSilverlightアプリケーションをホストしようとしています。適切な構成設定を変更できるように、applicationhost.configファイルを変更しました。web.configに次のものがあります。

<location path="">
  <system.webServer>
    <security>
      <authentication>
        <anonymousAuthentication enabled="false" />
        <windowsAuthentication enabled="true" />
      </authentication>
    </security>
  </system.webServer>
</location>

認証されておらず、ドメインサービス呼び出しがユーザーとしてnullレコードを返します。VS2010 SP1 BETAをインストールした後、これを機能させることができましたが、IISExpressのみでこれを機能させようとしています。

Windows認証をIISExpressで機能させるにはどうすればよいですか。不足している構成設定はありますか?

4

10 に答える 10

407

Visual Studio 2010 SP1および2012では、IIS Expressのサポートが追加され、山括弧を編集する必要がなくなりました。

  1. まだ行っていない場合は、Webフレーバーのプロジェクトを右クリックし、[IISExpressを使用する...]を選択します。
  2. 完了したら、Webプロジェクトを選択し、を押して[F4プロパティ]パネルにフォーカスします。
  3. [Windows認証]プロパティを[有効]に設定し、[匿名認証]プロパティを[無効]に設定します。

ここに画像の説明を入力してください

このソリューションは、vikomallのオプションよりも優れていると思います。

  • オプション#1は、すべてのIISExpressサイトのグローバルな変更です。
  • オプション#2は、web.configに開発の要点を残します。
    • さらに、IISサーバーのapplicationHost.configで「ロック解除」手順に従わない限り、IIS7.5に展開するとエラーが発生する可能性があります。

上記のUIベースのソリューションは、IIS ExpressのapplicationHost.config内のサイト固有の場所要素を使用して、アプリを変更しません。

詳細はこちら: http: //msdn.microsoft.com/en-us/magazine/hh288080.aspx

于 2011-08-23T22:29:53.343 に答える
278

オプション-1

ファイルを編集\My Documents\IISExpress\config\applicationhost.configし、windowsAuthenticationを有効にします。

<system.webServer>
...
  <security>
...
    <authentication>
      <windowsAuthentication enabled="true" />
    </authentication>
...
  </security>
...
</system.webServer>

オプション2

次のように、\ My Documents \ IISExpress \ config\applicationhost.configのwindowsAuthenticationセクションのロックを解除します

<add name="WindowsAuthenticationModule" lockItem="false" />

必要な認証タイプのオーバーライド設定を「許可」に変更します

<sectionGroup name="security">
    ...
    <sectionGroup name="system.webServer">
        ...
        <sectionGroup name="authentication">
            <section name="anonymousAuthentication" overrideModeDefault="Allow" />
            ...
            <section name="windowsAuthentication" overrideModeDefault="Allow" />
    </sectionGroup>
</sectionGroup>

アプリケーションのweb.configに以下を追加します

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
      <security>
        <authentication>
          <windowsAuthentication enabled="true" />
        </authentication>
      </security>
    </system.webServer>
</configuration>

以下のリンクが役立つ場合があります:http: //learn.iis.net/page.aspx/376/delegating-configuration-to-webconfig-files/

VS 2010 SP1をインストールした後、Windows認証を機能させるには、オプション1+2を適用する必要がある場合があります。さらに、IISExpressapplicationhost.configで匿名認証をfalseに設定する必要がある場合があります。

<authentication>

            <anonymousAuthentication enabled="false" userName="" />

VS2015の場合、IISExpressアプリケーションホスト構成ファイルは次の場所にあります。

$(solutionDir)\.vs\config\applicationhost.config

プロジェクトファイルの<UseGlobalApplicationHostFile>オプションは、デフォルトまたはソリューション固有の構成ファイルを選択します。

于 2011-01-27T07:22:17.460 に答える
9

booij boyからの回答に基づいて、[コントロールパネル]->[プログラム]->[Windows機能をオンまたはオンにする]->[インターネットインフォメーションサービス]->[WorldWideWebサービス]->[セキュリティ]の[Windows認証]機能をオンにしたかどうかを確認します。

また、FirefoxやInternetExplorerを使用する場合は大きな違いがあるようです。「Windows認証」を有効にした後、それは私のために機能しますが、IEでのみ機能します。

于 2011-04-21T09:45:27.203 に答える
5

これらの優れた回答に加えて、IISExpress開発環境のコンテキストで、悪名高い「system.web/identity@impersonate」エラーを阻止するために、applicationhost.configファイルに次の設定が設定されていることを確認できます。 。

<configuration>
    <system.webServer>
        <validation validateIntegratedModeConfiguration="false" />
    </system.webServer>
</configuration>

これにより、開発およびテスト中の柔軟性が向上しますが、実稼働環境でこの設定を使用することの意味を理解してから実行してください。

役立つ投稿:

于 2013-08-20T17:57:00.047 に答える
2

IISマネージャーで、サイトをクリックします。(「コンテンツビュー」ではなく)「機能ビュー」である必要があります

「機能ビュー」のIISセクションで、いわゆる機能「認証」を選択し、それをクリックします。ここで、Windows認証を有効にできます。これは、web.config(...)の設定によっても可能です(スレッドの提案の1つで考えます)。

しかし、多分あなたはあなたがあまり精査したくないweb.configを持っています。それなら、このスレッドはあまり役に立ちません。それが私がこの答えを追加した理由です。

于 2014-03-27T11:32:44.523 に答える
0

この回答は、次の場合に役立ちます。1)サイトがVisual Studio 2015にアップグレードする前にWindows認証を使用していた場合、および2)サイトが読み込もうとしている場合/login.aspx(サイトにそのようなファイルがない場合でも)。

appSettingsサイトのセクションに次の2行を追加しますWeb.config

<add key="autoFormsAuthentication" value="false" />
<add key="enableSimpleMembership" value="false"/>
于 2016-02-22T17:29:41.053 に答える
0

同じメモ-VS2015、.vs \ config \ applicationhost.configが表示されないか、使用できません。

デフォルトでは、.vsフォルダーは非表示になっています(少なくとも私の場合)。

.vsフォルダーが見つからない場合は、以下の手順に従ってください。

  1. ソリューションフォルダを右クリックします
  2. [プロパティ]を選択します
  3. Attributesセクションで、Hiddenチェックボックス(デフォルトはオフ)をクリックします。
  4. 次に、[適用]ボタンをクリックします
  5. 確認ウィンドウが表示されます。「このフォルダ、サブフォルダ、およびファイルに変更を適用する」オプションを選択し、「OK」をクリックします。

    を除いて、手順1〜5を繰り返しstep 3ます。今回は、uncheck前にチェックした「非表示」オプションを選択する必要があります。

これで、.vsフォルダーが表示されるはずです。

于 2016-07-13T21:15:04.563 に答える
0

上記の回答のすべてを実行した後、私は管理者としてVisualStudioを実行していないことがわかりました。管理者として実行した後、問題は解決しました。

于 2016-07-19T14:16:50.867 に答える
0

どちらの答えも役に立たない場合は、プロジェクトのプロパティを調整する必要があるかもしれません。それを行う方法については、この他のStackOverflowの回答を確認してください。

https://stackoverflow.com/a/20857049/56621

于 2019-08-29T07:51:46.887 に答える
0

ASP.Netアプリケーションに対して開発されたVisualStudio2019を使用しています。これが私たちのために働いたものです:

  1. プロジェクトプロパティWindowsを開き、匿名認証を無効にし、 Windows認証を有効にします
  2. system.webの下のWeb.Configで

<authentication mode="Windows"></authentication>p

また、iisExpressのapplication.configは変更しませんでした。

于 2021-01-25T09:10:12.120 に答える