私の mvc-project では、例外処理用に ELMAH をセットアップしました。ELMAH には "/elmah.axd" でアクセスできるフロントエンドが付属しています。
web.config では、これは次のように構成されています。
<location path="elmah.axd">
<system.web>
<httpHandlers>
<add verb="POST,GET,HEAD"
path="elmah.axd"
type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<authorization>
<allow roles="ADMIN" /> <!-- instead i want to use 'permission' from my custom RoleProvider -->
<deny users="*"/>
</authorization>
</system.web>
<system.webServer>
<handlers>
<add name="ELMAH"
verb="POST,GET,HEAD"
path="elmah.axd"
type="Elmah.ErrorLogPageFactory, Elmah"
preCondition="integratedMode" />
</handlers>
</system.webServer>
</location>
標準の RoleProvider を使用する場合、上記の例で指定されている承認を使用します。しかし、私はカスタム RoleProvider を持っているので、これを行う方法がわかりません。私のビューでは、[Authorize] 属性と非常によく似たカスタム認証属性を実装しました (ただし、代わりにアクセス許可を取得します...)。ここで、カスタム RoleProvider を使用して "elmah.axd" (物理ファイルではない) のアクセシビリティを指定したいと考えています。
目標を達成する方法を知っている人はいますか?