在我的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我不能/不知道如何做到这一点。 对于我的视图,我实现了一个自定义的身份验证属性,它与[授权]属性非常相似(但取代了权限......)。现在我想使用我的自定义RoleProvider指定“elmah.axd”(不是物理文件)的可访问性。
有没有人知道我如何才能达到我的目标?