.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