.net core 共享 .Net Forms Authentication cookie

Posted xyyie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net core 共享 .Net Forms Authentication cookie相关的知识,希望对你有一定的参考价值。

Asp.net 项目迁移到 asp.net core 项目后需要 兼容以前老的项目的登录方式。 Forms Authentication cookie 登录。

 

 

从网上搜集到关于这个问题的解决思路都没有完美解决。

帖子如下:

 

坎坷路:ASP.NET Core 1.0 Identity 身份验证(中集)

通过这两篇得到解决问题的方案:

1、曲线救国的方式 通过老的项目提供解析cookie服务达到统一验证。

2、统一升级为最新的加密授权方式。(改造比较大)

3、是否asp.net core 下有对应移植过来的解密类库。

通过 google 搜索到一下类库,经过测试验证可用。但是还是有条件的。

https://github.com/synercoder/FormsAuthentication

synercoder/FormsAuthentication 类库 实现了asp.net core 中 identity 兼容 cookie 的方式

重写 

TicketDataFormat 
TicketDataFormat = new FormsAuthenticationDataFormat

https://github.com/dazinator/AspNetCore.LegacyAuthCookieCompat

AspNetCore.LegacyAuthCookieCompat 类库可以解密加密 web.config 中 

<machineKey validation="SHA1" validationKey="XXXXX" decryption="AES" decryptionKey="XXXXX" /> 配置的类容.

 

相关参考:

https://devblogs.microsoft.com/aspnet/cryptographic-improvements-in-asp-net-4-5-pt-2/

https://www.cnblogs.com/selimsong/p/7771875.html

https://support.microsoft.com/zh-cn/help/2425938/how-to-configure-legacy-encryption-mode-in-asp-net

https://docs.microsoft.com/zh-cn/previous-versions/w8h3skw9(v=vs.110)

 

以上是关于.net core 共享 .Net Forms Authentication cookie的主要内容,如果未能解决你的问题,请参考以下文章

.Net Core 项目类型,用于与多个项目共享布局

在 ASP.Net 5 / Core 中启用跨域资源共享 (CORS)

IIS 在 ASP.NET Core 和 ASP.NET 应用程序之间共享 cookie

net core 在startup以外的地方怎么取到iservicecollection

.Net Core 5 Web Api 服务对象共享和引用

如何在 .NET Core 类库中引用 Visual Studio 共享项目