首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用ELMAH配置自定义授权

使用ELMAH配置自定义授权
EN

Stack Overflow用户
提问于 2013-01-23 21:58:14
回答 3查看 6.5K关注 0票数 4

如何在没有默认ASP.NET授权角色管理器的情况下将ELMAH配置为仅对某些人显示?

我(以及其他许多人,我认为)使用自己的授权逻辑,从零开始构建我的项目,而不使用提供的模板。我想要记录错误,但似乎不可能配置ELMAH (以某种方式覆盖功能)来使其与其他授权一起工作,甚至使其仅对特定的IP地址工作。

由于我将可以访问web.config,因此我尝试更改这些值,以便在缺省情况下不显示elmah。

代码语言:javascript
运行
复制
<add key="elmah.mvc.disableHandler" value="false" />
<add key="elmah.mvc.disableHandleErrorFilter" value="false" />
<add key="elmah.mvc.requiresAuthentication" value="false" />

当我想查看错误时,将它们从true切换到false并查看错误,然后再切换回来。但似乎当我更改这些值时,所有日志都会被擦除。

我能做什么?

EN

Stack Overflow用户

回答已采纳

发布于 2013-01-23 22:18:29

我认为最简单的方法是对您的自定义授权进行一些小的修改,这样ELMAH授权就可以工作了。

cookie选项1:在登录时设置FormsAuthentication 。这样,在web.config中,allow users="username"应该可以工作。成功登录后,您可以使用FormsAuthentication.SetAuthCookie(theUsername, true)设置cookie。

ELMAH授权如下所示:

代码语言:javascript
运行
复制
<location path="elmah.axd" inheritInChildApplications="false">
    <system.web>
       <authorization>   
         <allow users="theUserName" />
         <deny users="*" />
       </authorization>
    </system.web>
  ...other config settings
</location>

选项2:如果您使用的是将用户放入角色,则可以覆盖默认的角色提供程序,以使用您创建的函数来获取角色。这种方式稍微复杂一些,但是可以让您在web.config中利用基于角色的身份验证,这对于保护静态文件(.pdf等)传递非常有用。如果感兴趣,我可以为此添加代码。

票数 8
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14481506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档