0

使用 nuget 安装 elmah 并立即运行非常容易。

尝试使用密码保护页面时遇到了挑战。

在我拥有的项目中,有一个Admin controller我使用 mvc 3 sql 会员提供程序,当您启动 mvc 3 应用程序时,它会开箱即用。默认 impl 不使用任何角色。它只是验证用户,并且只有授权用户才能使用管理员。

在 elmah 日志中:

<authorization>  
    <allow roles="admin" />  
    <allow roles="dev" />  
    <deny users="*" />  
</authorization>  

这是如何运作的?我如何定义和传递这些角色,以便 elmah 理解这一点?

有没有更简单的方法来做到这一点?

4

3 回答 3

2

你看起来是在正确的轨道上。由于您信任任何登录用户,因此您首先拒绝匿名用户访问,然后允许授权用户访问,如下所示:

<authorization>
  <deny users="?"/>
  <allow users="*"/>
</authorization>
于 2012-05-30T00:05:24.303 回答
1

Alexander Beletsky 有一个 Nuget 包,可以很容易地将 Elmah 与 MVC 和基于角色的安全性集成:Elmah.MVC。它工作得很好,并创建了一个可以通过角色保护的控制器,并且还允许良好的路由。

这是项目页面

于 2012-05-30T00:29:30.513 回答
1

对于 MVC3 应用程序,您可能需要考虑Elfar而不是 Elmah。Elfar 受到 Elmah 的“启发”,但更简单且易于正确配置。有几个具有多种数据库类型的 nuget 包。

我发现 Elmah 比复杂异常处理所需的要重得多。Elfar 要简单得多。

于 2012-05-30T01:47:30.997 回答