将 angular 和 .net core web api 安全地集成到现有的 MVC 5 应用程序中
Securely integrate angular and .net core web api into existing MVC 5 app
我有一个现有的 CRM,内置于 ASP.NET MVC 5,使用 razorhtml 前端。我想将项目的一部分拆分为一个 Angular 前端和 .Net Core web api 后端。
基本上,当客户点击某个页面上的 "next" 按钮时,将调用网络 api 并 return angular 中的页面。然后,客户在 angular 前端完成几个页面,通过 Web api 将信息发送到数据库,然后 return 将用户发送到旧的 MVC 项目。
我担心的问题是安全问题。如何在两个应用程序之间对客户进行身份验证?
假设您的 WebAPI 托管在与现有 MVC 解决方案相同的域中,您可以选择良好的旧 cookie(不过请注意 HttpOnly
and Path
属性)。鉴于技术的差异,这可能需要某种反向代理才能到位。
或者,您可以在 MVC 应用程序端生成一个令牌,让您的 angular 应用通过 request headers to your API. On server side you would either write a to handle opaque tokens or leverage existing .Net Core Identity that supports JWT 开箱即用地传递它。
鉴于您没有分享您环境的任何细节 - 很难说 JWT 对您的用例来说是否过大,但希望这能为您提供一些进一步探索的背景信息。
我有一个现有的 CRM,内置于 ASP.NET MVC 5,使用 razorhtml 前端。我想将项目的一部分拆分为一个 Angular 前端和 .Net Core web api 后端。
基本上,当客户点击某个页面上的 "next" 按钮时,将调用网络 api 并 return angular 中的页面。然后,客户在 angular 前端完成几个页面,通过 Web api 将信息发送到数据库,然后 return 将用户发送到旧的 MVC 项目。
我担心的问题是安全问题。如何在两个应用程序之间对客户进行身份验证?
假设您的 WebAPI 托管在与现有 MVC 解决方案相同的域中,您可以选择良好的旧 cookie(不过请注意 HttpOnly
and Path
属性)。鉴于技术的差异,这可能需要某种反向代理才能到位。
或者,您可以在 MVC 应用程序端生成一个令牌,让您的 angular 应用通过 request headers to your API. On server side you would either write a
鉴于您没有分享您环境的任何细节 - 很难说 JWT 对您的用例来说是否过大,但希望这能为您提供一些进一步探索的背景信息。