IIS 7管理APIを使用しようとしていますが、セキュリティ上の問題が残っています。私のアプリケーションは、.NET 4(統合パイプライン)上で動作する通常のASP.NETサイトです。マシンはWindows 7 x64です(アプリケーションプールはデフォルトでApplicationPoolIdentity、x64で動作しています)。サイトには、次の設定を使用しています:Microsoft.Web.Administrationを使用するために必要なアクセス許可
<identity impersonate="true" />
<authentication mode="Windows" />
<customErrors mode="Off" />
<authorization>
<deny users="?" />
</authorization>
私のサイトには、(ローカルホストで)IIS管理APIを介して他のサイトの内容を読み取ろうとします。私はローカル管理者のメンバーとしてログインしています。 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
を見ているのがわかります)。何が間違っているのですか?
p.s.
UACはオンですが、重要ではないと思います。 C:\ Windows \ system32 \ inetsrv \ configフォルダのNTFSアクセス許可を確認しました。管理者はフルアクセスできます。
試してみましたが、動作しませんでした。 – UserControl