2009-12-09 51 views
1

我正在編寫ASP.NET MVC應用程序。
當用戶第一次登錄時,應用程序應該顯示一個頁面供他接受使用條款。
如果用戶不接受條款,他將被重定向到登錄頁面。如果他接受條款,那麼他可以繼續使用我的應用程序。
哪裏是我可以檢查此條件以調用ReddirectToAction的應用程序中的最佳位置?ASP.NET - 接受使用條款

+0

我不明白這個問題。在與條款相同的控制器中? – 2009-12-09 13:48:01

回答

0

如果您有一個其他控制器繼承的「BaseController」類型類,請覆蓋OnActionExecuting方法並在那裏進行檢查。 ETA - 顯然,提供術語頁面的控制器不會有這種行爲,或者你最終會在一個重定向循環中,所以你需要有一個「BaseLoggedInController」或一些這樣的東西,所有的控制器,除了呈現術語/登錄頁面的將繼承自。

1

我會在用戶對象上存儲'Accepted T & C'標誌。

然後,我會檢查登錄的用戶信息,檢查標誌並在控制器操作中適當地重定向。

0

有很多示例應用程序在那裏有認證/授權的例子。除了一個更好的建議,我會看看他們如何處理訪問受限制的頁面(即如果沒有通過身份驗證,然後重定向到登錄,如果沒有授權,則重定向到錯誤,否則顯示頁面)。然後,如果他們沒有接受你的條款,你可以使用相同的技術來重定向。

0

實現一個AuthorizeAttribute,它檢查用戶設置的接受標誌並在被佔用時重定向。如果未設置,用戶將被髮送到使用條款頁面。如果他否認,他將被重定向到「你應該接受頁面」。

實現一個Controller基類,它是一個AuthorizeFilter。在OnAuthorization方法中實現檢查。