IIS 7.5で新しいWebサイトのWindows認証を設定しようとしています。サイトでWindows認証モジュールを有効にし、他のすべての認証タイプ(匿名、基本など)を無効にしました。サイトのアプリプールは、SPNヘッダーとホストヘッダーが適切に設定されたカスタムIDで実行されます。サイトでホストされているコンテンツ(テキストファイルなど)にブラウザー経由でアクセスしようとすると、401.2エラーが発生します。 。 この提案 に従い、useAppPoolCredentials属性をapplicationHost.configに追加すると、を使用してリソースにアクセスできます。 Windows認証。
次に、属性を削除し、applicationHost.configを保存して、変更を効果的に元に戻しましたが、リソースにアクセスできます。誰かが私がこの行動を理解するのを手伝ってくれる?
また、Winサーバー2008R2でのIIS 7.5の特定のインストールでは、サイト(またはアプリケーション)のデフォルト構成を変更するとIISサイト/アプリケーションのルートでWeb.configファイルを自動的に生成します。applicationHost.configを直接更新する代わりに、これを有効にする設定はありますか?
[〜#〜] edit [〜#〜]ブラウザは応答をキャッシュしていたため、変更を元に戻したり、ファイルを保存したりしても違いはないようです。だから私が今持っている唯一の質問はWeb.configの生成に関連しています
構成の変更がweb.config
ではなくサイトのapplicationHost.config
に永続化されるようにする方法に関する、2番目の質問に関しては、これは機能の委任を介して制御できます。
IIS Managerのマシンノードに移動すると、「機能の委任」という名前のアイコンが表示されます。
これを起動するとIIS "applet"]、構成をweb.config
に委任できる機能のリストが表示されます。
読み取り/書き込みとマークされた設定では、通常、設定がweb.config
ファイルに書き込まれます。 読み取り専用とマークされた設定は、通常、設定がapplicationHost.config
に書き込まれ、web.config
ファイルで上書きすることはできません。
その際、<windowsAuthentication>
構成をweb.config
ファイルに委任できます。
マイナーな落とし穴:
すべてのアプレットが、構成可能なすべての設定を表示するわけではありません。このような状況の良い例は、<windowsAuthentication>
useAppPoolCredentials
属性です。 詳細設定の下でも、認証アプレットには表示されません。
ただし、Configuration Editorを使用して、この値(およびその他のほとんどすべて)を取得できます。 IIS managerの左側のペインでWebサイトのノードに移動すると、Managementの下にこのアイコンが表示されます。 :
構成エディターを起動すると、さまざまな設定のツリーを含むドロップダウンリストが表示されます。
/system.webServer/security/authentication/windowsAuthentication
ノードを選択すると、変更可能な設定の全範囲が表示されます。ここで、関心のある設定を確認できます(useAppPoolCredentials
):
次のFrom:ドロップダウンリストから、Webサイトの値をweb.config
またはapplicationHost.config
のどちらで構成するかを選択できます。構成セクションツリーのドロップダウンへ:
セクションがweb.config
で読み取り/書き込みとして委任されていない場合は、次のように表示されます。
この特定の機能がロックされ、すべての設定がグレー表示されて無効になり、この機能の子設定もロックアウトされていることを示す南京錠があるというアラートが表示されます。
最後に、サイトバインディング、アプリケーションプール、仮想ディレクトリなど、すべての設定を委任できるわけではありません。