2010-01-10 44 views
2

我想使用,以确保我的MVC控制器动作......追赶ASP.Net MVC原则允许属性例外

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

但是,如果用户不是在这个角色然后一个SecurityException“请求主体权限失败“。被代码抛出。

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

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

或者,编写我自己的操作过滤器的一些方法,我可以添加到任何方法,例如

[MustBeAnAdministrator] 

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

谢谢。

+0

如果你的角色是一个Windows组,那么你可能是指'管理员'与's'。 – 2010-04-22 05:07:15

回答

1

在我们的MVC-项目中,我们使用由的MembershipProvider给出的

<Authorize(Roles:="Administrators")> 

功能 - 这是我们安装到我们的条件。如果用户没有登录,他将被转发到登录屏幕。