提问者:小点点

将 angular 和 .net 核心 Web API 安全地集成到现有的 MVC 5 应用程序中


我有一个使用razorhtml前端ASP.NETMVC 5内置的现有CRM。我想将项目的一部分分成一个带有. Net Core web api后端的Angular前端。

本质上,当客户点击某个页面上的“下一步”按钮时,Web api将被调用并以角度返回一个页面。然后,客户在角度前端完成几个页面,通过Web api将信息发送到数据库,然后将用户返回到旧的MVC项目。

我担心的问题是安全性。如何在两个应用程序之间对客户进行身份验证?


共1个答案

匿名用户

假设您的WebAPI与您现有的MVC解决方案托管在同一域上,您可以选择良好的旧cookie(请注意HttpOnlyPath属性)。鉴于技术的差异,这可能需要某种反向代理来实施。

或者,您可以在MVC应用程序端生成一个令牌,并使您的angular应用程序通过请求头将其传递给您的API。在服务器端,您可以编写一个自定义中间件来处理不透明的令牌,也可以利用现有的支持JWT的.Net Core Identity。

鉴于你没有分享你的环境的任何细节——很难说JWT对你的用例来说是不是大材小用,但是希望这给你一些进一步探索的背景。