1

私の 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" (物理ファイルではない) のアクセシビリティを指定したいと考えています。

目標を達成する方法を知っている人はいますか?

4

1 に答える 1

1

ここに実行可能なアプローチがあるようです...

于 2013-03-07T10:12:05.930 に答える