我一直在對保護我的MVC 5應用程序的最佳方式進行大量研究。MVC5身份驗證:每個控制器或基本控制器上的授權屬性
我們有一個Web.csproj與許多WebAPI控制器,還有一個MVC站點有兩個區域 - 一個用於管理員,然後是面向公衆的網站。
讀完this article which states that the Base Controller is best way之後,我決定採用這種方法。
但是,我個人並不確定使用基本控制器(see this stackoverflow answer爲我的一些推理)。所以,鑑於我正在使用MVC 5(ASP.Net身份和OWIN認證) - 任何人都可以闡明每種方法的優點和缺點嗎?
本文沒有介紹如何使用全局過濾器?我相信基本控制器被推薦用於MVC 1和2 .... – dima
@dima是的,你是對的......我在文章底部引用了下面的引用: 「讓我完全清楚這個。保證MVC應用程序唯一受支持的方式是擁有一個帶有[Authorize]屬性的基類,然後讓每個控制器類型都擁有該基類型的子類,任何其他方式都會打開一個安全漏洞。然而,我認爲在試圖通過Route Constraints獲得MVC應用程序的背景下是一個嚴重的「禁忌」。 – JTech
他在某種程度上是正確的,只是它應該說全球過濾器....我不明白你爲什麼不利用全球過濾器的優勢,並使整個網站的安全,只允許匿名訪問某些像登錄,註冊等 – dima