用戶登錄後,會話將被設置。我想檢查所有控制器中的用戶會話(不是全部,但需要登錄用戶的控制器)。在webforms中,我們可以在page_load中使用它或使用基類。在asp mvc中推薦的方法是什麼? (我看到使用基本控制器是個不錯的主意)檢查所有控制器的會話?
1
A
回答
0
您可以創建一個控制器(在此檢查會話),繼承base controller
並將此控制器引用到您所需的控制器中。
BaseController:
public class BaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
//check Session here
}
}
DerivedController:
public class ABCController : BaseController
{
//Your code
}
1
有2種方式來做到這一點。
你可以創建一個自定義的授權屬性從AuthorizeAttribute繼承並且把你所有的會話和授權碼在一個地方,或
你可以創建自己的行爲過濾器,做必要的會話檢查和重視這兩個屬性的動作/控制器。
這取決於您是要這些功能中的一個還是另一個獨立操作,如果是這樣,請選擇後一個建議。
+0
+1。事實上,他可能甚至不需要派生一個新班級。基本的AuthorizeAttribute可以獨立工作。 –
相關問題
- 1. 在控制器_constructor中檢查會話
- 2. 在所有控制器上檢查登錄會話的簡單方法
- 3. 春季控制器方法之前的會話檢查
- 4. 檢查控制器中的驗證會話
- 5. Grails臉譜插圖檢查每個控制器中的會話
- 6. 會話不是在笨的所有控制器可用
- 7. 我需要在每個控制器中檢查Spring中的有效會話嗎?
- 8. 如何在所有控制器中包含會話超時?
- 9. codeigniter如何在所有控制器中傳遞登錄會話
- 10. 全局開關使所有控制器無會話
- 11. Laravel5.3會話控制器類
- 12. PHP - 會話和控制器
- 13. 添加控件類和存儲會話犯規檢索所有控制屬性
- 14. 如何檢查控制器中的記錄所有權?
- 15. 檢查現有的控制器
- 16. 控制會話
- 17. 會話控制
- 18. 檢查會話
- 19. 檢查會話
- 20. rspec的控制器的空會話
- 21. cakephp - 無法檢索控制器中的會話
- 22. 與兩個控制器的會話
- 23. MVC3中的會話減少控制器
- 24. 添加檢查控制器
- 25. 檢查跨服務器的會話
- 26. 如何爲Symfony2中的所有控制器設置會話變量?
- 27. 檢查有效的Facebook會話
- 28. PHP會話檢查
- 29. 檢查會話值
- 30. 錯誤檢查在控制器級別製作所需字段
使用基本控制器通常皺眉。 Action方法通常用於這樣的功能。 –
@SimonHolman操作方法?請回答我的問題 –
如何在每個操作方法中進行身份驗證? –