簡體   English   中英

如何在沒有身份的asp.net MVC中實現自定義身份驗證/授權?

[英]How can I implement custom authentication/authorization in asp.net MVC without Identity?

我正在研究一個asp.net MVC 5解決方案,現在我需要實現身份驗證和授權。 該解決方案具有管理“繁重工作”的外部服務,該服務將在每個請求中使用用戶名和密碼,並在成功驗證后發送回帶有用戶權限(角色)的令牌,該令牌應與控制器中的屬性相匹配。

對我的解決方案的每個請求都應向外部服務請求。 如何在現有的asp.net MVC 5解決方案中以簡單的方式實現此目的? 我看過Identity和Owin,但他們為Im試圖實現的目標感到feel腫。 我還找到了有關Forms auth的一些信息,但似乎已棄用?

我嘗試過的工作流程是這樣的:

用戶請求控制器。 控制器標記有“ Require(Roles =“ IT”)“之類的屬性。 我實現IauthenticationFilter並在OnAuthentication中調用我的服務以驗證用戶的請求。 從返回中,我將驗證用戶實際上是他說的是誰,以及是否允許他在所述控制器上輸入所述動作。

任何輸入都值得贊賞,因為我很難找到有關如何實現自定義身份驗證解決方案的可靠信息。 有沒有最佳做法?

謝謝!

MVC基於ASP.NET的接口IPrincipalIIdentity 如果實現這些接口,則可以利用MVC的現有[Authorize] / [AllowAnonymous]屬性功能,僅在需要除用戶/角色之外的其他功能時才擴展它。

我不會在這里重復實現-關於如何正確實現這些接口的幾篇文章(應該在ASP.NET/MVC的Application_PostAuthenticateRequest事件中設置)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM