当核心 Web API 和 MVC 项目 ASP.NET 分开时使用 ASP.NET 标识.哪个应该处理身份验证?



如果我要创建两个单独的项目:

  1. ASP.NET 核心网页 API 项目
  2. ASP.NET 核心MVC项目

MVC 项目将使用 HttpClient 与 Web API 通信。

如果是这种情况,并且我想使用内置的 ASP.NET 标识,我应该通过 Web API 执行此操作还是仅将其保留为 MVC 项目的一部分?

从您的问题描述来看,您最终似乎只会保护应用程序的 1 层。

理想情况下,您将同时保护两者。在 MVC 应用程序端,您需要使用 ASPNET 标识执行user authentication(确定谁想要获取信息),而在 WebAPI 端,您需要执行resource authenticationclient authentication来检查 API(应用程序 x)的调用方是否确实有权调用 API。后者不能通过ASPNET标识来完成。你会想要像Identity Server 4或Azure B2C这样的产品来实现这一点。

现在,你可以保持API的开放和内部,只是在MVC APP中从HTTPClient调用它,但是,如果我是你,我不会这样做。我能想到为什么你想要一个 API 的唯一原因是,这样你以后就可以从其他应用程序中使用它,所以,保持 API 像这样打开是不明智的。

如果我站在你的立场上,我希望在我的应用程序周围有一个安全框架,然后继续为应用程序提供对 API 的所需访问权限以执行所需的操作。

相关内容

  • 没有找到相关文章

最新更新