首页 > 解决方案 > 在 ASP 中分离前端和后端服务身份验证。网络核心

问题描述

我为我的 Web 应用程序创建了两个单独的项目:

(基本上遵循 Jeffrey T. Fritz 在他的8 小时演示中所做的,因为它看起来像是一个分离良好的架构)这意味着两者都运行在服务器端。我已经在我的前端添加了“个人用户”身份验证选项,它创建了一个存储用户数据的数据库,我可以简单地根据那里的登录来授权页面。据我了解,此身份验证。选项基本上意味着前端在它的数据库中管理它自己的一组用户。

我缺少的是使用相同的授权保护该 Web API,因此人们将无法匿名使用该 API。怎么可能呢?如果我想切换到基于 Azure 的身份验证,解决方案会有所不同吗?

我想前端必须将一些与用户相关的数据附加到请求中,然后后端会以某种方式对其进行验证。(但我无法想象如果它不真正了解身份验证服务,也许它必须是一个可供两者访问的单独实体?在这种情况下,我应该跳过我所拥有的并直接进入 Azure 吗?)

注意:我对安全性(以及整个 Web 应用程序)相当陌生。

标签: authenticationasp.net-web-apiasp.net-core

解决方案


出于安全考虑,可能值得一看 JWT Tokens。它是一种非常标准的、众所周知的保护 Web 应用程序的模式/方法。这是一个更“完整”的示例描述:https ://garywoodfine.com/asp-net-core-2-2-jwt-authentication-tutorial/

您将能够在一个地方设置安全性,并使用它来验证两个应用程序


推荐阅读