ASP.NET和ASP.NET Core应用程序中的共享表单身份验证

问题描述 投票:0回答:1

我有一个ASP.NET应用程序“ A”,该应用程序具有表单身份验证并公开了WebAPI。现在,我需要创建另一个ASP.NET Core应用程序“ B”,该应用程序将通过自身创建cookie(对于某些特定的硬编码用户)在内部调用应用程序“ A”,并正确调用应用程序“ A”的WebAPI方法,就像用户登录in。

asp.net asp.net-core forms-authentication
1个回答
0
投票

如果两个站点位于同一域或子域上,则可以在ASP.NET和ASP.NET Core之间共享表单身份验证。斯科特·汉瑟曼(Scott Hanselman)在https://www.hanselman.com/blog/SharingAuthorizationCookiesBetweenASPNET4xAndASPNETCore10.aspx上发表了一篇文章。这是基本步骤:

  1. 将互操作软件包安装到您的应用程序中
    • ASP.NET 4.5:添加Microsoft.Owin.Security.Interop NuGet程序包
    • ASP.NET Core:添加Microsoft.AspNetCore.DataProtection.Extensions NuGet包
  2. 在每个应用程序中设置CookieName,使其相同
  3. 如果您的应用程序使用子域,则设置CookieDomain属性
  4. 配置每个应用程序以使用相同的AspNetTicketDataFormat cookie格式
© www.soinside.com 2019 - 2024. All rights reserved.