2009-09-17 80 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上閱讀更多內容

相關問題