web-dev-qa-db-ja.com

Webサイトの構成

私(開発者)と1人のユーザー(DOMAIN_NAME\USER_NAME)が1つのWebサイトにアクセスする必要があります。

VSによって作成された「自動ホスト」を使用してVisual StudioでWebサイトを開発したとき、web.configの次の設定で十分でした。

<authentication mode="Windows"/>
<authorization>
  <allow users="DOMAIN_NAME\my_name,DOMAIN_NAME\USER_NAME" />
  <deny users="*" />
</authorization>

しかし、IISでWebサイトを作成すると、エラーが表示されます。

アクセスが拒否されました。

説明:この要求を処理するために必要なリソースへのアクセス中にエラーが発生しました。サーバーは、要求されたURLへのアクセス用に構成されていない可能性があります。

エラーメッセージ401.2。:権限がありません:サーバーの構成が原因でログオンに失敗しました。指定した資格情報とWebサーバーで有効になっている認証方法に基づいて、このディレクトリまたはページを表示する権限があることを確認します。さらに支援が必要な場合は、Webサーバーの管理者に連絡してください。

ApplicationPoolIdentityおよびWebサイト自体の設定を指定する必要がありますか?

どうもありがとう!

編集:

ローカルのアプリケーションプールを構成しましたIIS 'LocalSystem' ID、Webサイトを使用する-"パススルー"認証を使用する、提案されたように無効な "匿名認証"、有効な "Windows認証「-ウェブサイトがローカルで実行可能になりました。

しかし、ローカルにはWindows 7(IIS7)がありますが、「テスト」環境(Webサイトを展開する必要がある場所)にはWindows 2008サーバーがあり、「Windows認証」を有効にするオプションがありません...わかりませんなぜ...おそらくそれはより高いレベルの管理者向けですが、私は管理者グループのメンバーです...

何かおかしい...

お知らせ下さい。

23
Budda

Web.configが適切にセットアップされています。さらに、IIS site/appが次のように構成されていることを確認します。

  • 匿名アクセスを許可しない
  • 統合Windows認証の強制
  • アプリプールをネットワークサービスとして残す

IIS7

IIS6

以下のダイアログを見つけます

  • コントロールパネル/管理ツール-> IIS Manager-> Webサイトを右クリック->プロパティ->ディレクトリセキュリティ

IIS 6 non anonymous with Windows Authentication

43
p.campbell

役に立つかもしれません:401.2を受け取り始めました。 .ASPXアプリケーションのエラー(アプリに変更は加えられていない)、保護パスAMD Forms認証:

<authentication mode="Forms">
...
</authentication>
...
<location path="Admin">
    <system.web>
        <authorization>
            <allow roles="Admin,Client" />
            <deny users="*" />
        </authorization>
    </system.web>
</location>

同じコンピューター/ IISで他のMVCアプリケーションを起動した後。 MVCがサーバーの設定(ルート、私は信じている)で何かを変更したようです。 IIS(computer/server/site))で認証を使用しても効果がありませんでしたが、次の助け:Webアプリケーションのアプリケーションプールを.Net 4.5から.Net 4.5 Classicに変更しました。プール管理パイプラインモード、統合/クラシックの違い。

0
Michael