微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ASP .NET Core FormsAuthentication Cookie

如何解决ASP .NET Core FormsAuthentication Cookie

我有几个 ASP.NET MVC 5 应用程序。所有应用程序都部署在公共域的子域上。单个应用程序负责用户登录,会话在所有子域之间共享,因为我们在所有应用程序中使用相同的 machineKey。

<authentication mode="Forms">
  <forms name="SSO" loginUrl="{loginUrl}" timeout="2880" />
</authentication>
<machineKey validationKey="{validationKey}" decryptionKey="{decryptionKey}" validation="SHA1" />

问题是,现在我想使用 ASP.NET CORE 开发新应用程序,但我一直无法弄清楚如何配置 ASP.NET CORE 应用程序,以便它读取 ASP.NET 创建的 auth cookie MVC 5 应用程序。是否可以不对 ASP.NET MVC 5 应用程序进行更改?

解决方法

您可以使用数据保护密钥提供程序。 在启动文件中配置数据保护存储,如下所示。 在您的 MVC5 应用程序中也使用相同的存储空间来保存您的 cookie。

services.AddDataProtection()
    .PersistKeysToFileSystem("{PATH TO COMMON KEY RING FOLDER}")
    .SetApplicationName("SharedCookieApp");

services.ConfigureApplicationCookie(options => {
options.Cookie.Name = ".AspNet.SharedCookie";
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。