[英]MVC + WebApi. Authorization and Authentication
我有一個ASP.NET MVC項目和一個Web Api項目(單獨的項目)。 通過Web Api完全實現對數據庫的訪問(包括授權和身份驗證)。 ASP.NET MVC是客戶端,Web Api是服務器。
因此,如何在ASP.NET MVC項目中(在客戶端)正確地實現授權和身份驗證? 我讀了很多文章(通過令牌)如何在Web Api中實現它,但是我不明白如何在ASP.NET MVC中正確使用此令牌。
實現每個請求的包裝? 我也不知道如何在ASP.NET MVC中定義用戶角色。 也許有某種方法可以重寫ASP.NET MVC授權的標准方法以與Web Api令牌一起使用? ASP.NET MVC客戶端上的Authorize
屬性可以工作嗎? 如果可能的話,請在示例中提出建議,或者告訴我如何最好地實施。
如果將活動目錄配置為使用應用程序,則最好的方法是使用Azure活動目錄身份驗證。 您可以在此處獲取更多信息
首先,如果您還沒有投入生產,可能是時候跳轉到.Net Core 2.x了。 它不會將Web API和MVC分開,並且是最新技術。
如果由於某種原因而無法升級框架,請使用Microsoft.Owin,Microsoft.Owin.Security.OpenIdConnect和所有依賴項。
OIdC定義了兩種類型的令牌: 身份令牌 (描述用戶)和授權令牌 (提供對API的訪問)。 系統中應該有一些身份提供者 ,用於認證用戶並授權客戶端(例如您的MVC APP)。 此類提供程序可以是外部的(Google,Office 365等),也可以是內部的-您可以使用免費的Identity Server 4.x
實施並根據需要進行調整。 您甚至可以將IdP內置到您的應用程序中。
.Net Core和Owin OIdC實施的流程應相同:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.