【问题标题】:Catching ASP.Net MVC Principle Permission attribute exceptions捕获 ASP.Net MVC 原理权限属性异常
【发布时间】:2011-01-03 12:08:40
【问题描述】:

我想使用...保护我的 MVC 控制器操作

[PrincipalPermission(SecurityAction.Demand, Role="Administrator")]

但是,如果用户不在此角色中,则会出现 SecurityException“请求主体权限失败”。被代码抛出。

似乎没有办法处理这个错误,即使 [Handle] 错误也不会捕获它。

我想要一种方法来捕获安全异常,然后将用户重定向到我的登录页面(或路由)。

或者,用某种方式编写我自己的操作过滤器,我可以添加到任何方法中,例如

[MustBeAnAdministrator]

... 这将检查用户是否处于正确的角色,并重定向他们。但是,我似乎无法在操作过滤器中获得重定向。

谢谢。

【问题讨论】:

  • 如果您的角色是 Windows 组,那么您的意思可能是带有“s”的“管理员”。

标签: asp.net asp.net-mvc security permissions action-filter


【解决方案1】:

在我们的 MVC 项目中,我们使用

<Authorize(Roles:="Administrators")>

MembershipProvider 提供的功能 - 我们适合我们的条件。如果用户未登录,他将被转发到登录屏幕。

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-07
    • 2011-12-27
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    相关资源
    最近更新 更多