1. 程式人生 > >.net core 共享 .Net Forms Authentication cookie

.net core 共享 .Net Forms Authentication cookie

asp cnblogs ims ati iou 遷移 實現 沒有 rev

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