2009-09-17 43 views
0

如果用户已登录并且设置了ChangePasswordRequired标志,则需要忽略当前操作并将其重定向到ChangePassword操作。我需要根据某些条件重新路由动作

换句话说,我不希望用户能够做任何事情,直到他或她改变他或她的密码。

我的基地控制器应该覆盖哪种方法,我应该如何处理重定向?

回答

3

您应该创建自己的操作过滤器。

要使用操作筛选的确切类型是一个实现IAuthorizationFilter和你想使用它的OnAuthorizing()或关闭的方法。该过滤器类型在所有其他过滤器之前执行。

而不是[Authorize]过滤器,你会使用自己的过滤器。务必使你的国旗检查用户是否被认证(Request.IsAuthenticated

善良,

+0

如果我走这条路,我一定要装点每一个的ActionResult方法与我的筛选器属性或我可以用它装饰我的底座控制器吗? 与你的建议和重写OnActionExecuting和改变ActionResult那里有什么区别? – 2009-09-17 20:26:13

+0

您可以在Global.asax中进行设置。 GlobalConfiguration类 – 2013-02-25 20:09:35

+0

对不起,对于Web API,您应该使用GlobalFilters类 – 2013-02-25 20:18:39

1

我会使用一个actionfilter,你添加到每个控制器类应该实现这种行为。您可以通过Phil Haack在blog post上阅读更多内容

相关问题