IIS 7管理APIを使用しようとしていますが、セキュリティの問題で立ち往生しています。私のアプリケーションは、.NET 4(統合パイプライン)で実行されている通常のASP.NETサイトです。マシンはWindows 7 x64です(アプリケーションプールはデフォルトで、ApplicationPoolIdentity、x64で実行されます)。このサイトでは次の設定を使用しています。
<identity impersonate="true" />
<authentication mode="Windows" />
<customErrors mode="Off" />
<authorization>
<deny users="?" />
</authorization>
私のサイトは、IIS管理API(localhost)を介して他のサイトの詳細を読み取ろうとします。ローカル管理者のメンバーとしてログインしています。 IEでは、自分のページを開こうとしますが、これを取得します。
Site 'mysite' at 'myhost' is unknown.System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
at Microsoft.Web.Administration.Interop.IAppHostProperty.get_Value()
at Microsoft.Web.Administration.ConfigurationElement.GetPropertyValue(IAppHostProperty property)
at Microsoft.Web.Administration.Site.get_State()
理由がわかりません。コードが私のアカウントの偽装コンテキストで実行されることを確認しました(これはデバッガが
System.Threading.Thread.CurrentPrincipal
を監視していることを確認できます)。何が悪いのですか?
PS
UACはオンになっていますが、それは重要ではないと思います。
C:\ Windows \ system32 \ inetsrv \ configフォルダーのNTFSアクセス許可を確認しました-管理者のフルアクセス。