1

在我的 mvc 项目中,我为异常处理设置了 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 回答