Asp.net

ASP.NET MVC 5 中的身份驗證和授權

  • January 2, 2014

Asp.net MVC 5 似乎留下了使用 AuthorizeAttribute 類,您可以通過實現 AuthorizeAttribute 類創建自定義授權屬性,覆蓋其方法並隱藏 SiteRole 屬性,以防您想以自己的角色烘焙。我看到的所有範例都建議使用 OWIN 或身份框架。這些是在新的 ASP.Net 框架中進行身份驗證和授權的僅有的兩種方法嗎?如果我用老式的方式做,我會錯過什麼嗎?我不想讓框架為我創建所有使用者和角色表。如果我想將現有使用者和角色表添加到新應用程序怎麼辦?

我還真的不認為每個應用程序都需要社交集成,我認為我也不會立即需要它。是否有任何文章通過使用自定義授權屬性從最低限度開始解釋,然後繼續添加新的身份驗證功能。我想要的東西基本上可以解釋新創建的項目中的所有混亂情況,其中選擇了無身份驗證或個人使用者身份驗證。

您仍然可以使用 ASP.NET Identity 在 MVC 5 中自定義 AuthorizeAttribute。在SimpleSecurity Project中有一個這樣做的例子。這是可用於控制器的自定義 AuthorizedAttribute ,這是可用於 Web API 的自定義 AuthorizeAttribute。這些自定義 AuthorizeAttributes 背後的概念是將您的安全模型與此處討論的應用程序模型分離。Web API 的一種也支持基本身份驗證

隨著 OWIN 的引入,安全管道發生了變化,我確實遇到了一些 Web API 的 AuthorizeAttribute 行為問題,這在此處進行了討論

您還將在 SimpleSecurity 項目中找到有關將稱為 SimpleMembership 的舊成員資格提供程序移植到 MVC 5 的範例。此處討論了升級過程中的一些問題。我確實讓它工作了,所以你可以使用舊的會員提供程序實​​現。但我的建議是使用 ASP.NET 標識,因為這是 Microsoft 將支持的前進方式,它是一種更靈活的體系結構,它消除了舊會員提供程序實​​現中發現的許多問題

引用自:https://stackoverflow.com/questions/20881461