【发布时间】: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