捕获ASP.NETMVC原则权限属性异常

捕获ASP.NETMVC原则权限属性异常,asp.net,asp.net-mvc,security,permissions,action-filter,Asp.net,Asp.net Mvc,Security,Permissions,Action Filter,我想使用 [PrincipalPermission(SecurityAction.Demand, Role="Administrator")] 但是,如果用户不在此角色中,则代码会引发SecurityException“主体权限请求失败” 似乎没有办法处理此错误,即使[handle]错误也无法捕获它 我想要的是一种捕获安全异常的方法,然后将用户重定向到我的登录页面(或路由) 或者,以某种方式编写我自己的操作过滤器,我可以将其添加到任何方法中,例如 [MustBeAnAdministrator]

我想使用

[PrincipalPermission(SecurityAction.Demand, Role="Administrator")]
但是,如果用户不在此角色中,则代码会引发SecurityException“主体权限请求失败”

似乎没有办法处理此错误,即使[handle]错误也无法捕获它

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

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

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


谢谢。

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

<Authorize(Roles:="Administrators")>


由会员资格提供商提供的功能-我们符合我们的条件。如果用户未登录,他将被转发到登录屏幕。

如果您的角色是Windows组,则您可能指带有“s”的“管理员”。