.net core 共享 .Net Forms Authentication cookie
Asp.net 项目迁移到 asp.net core 项目后需要 兼容以前老的项目的登录方式。 Forms Authentication cookie 登录。
从网上搜集到关于这个问题的解决思路都没有完美解决。
帖子如下:
.NET跨平台之旅:ASP.NET Core从传统ASP.NET的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)
作者: ( 白蚁 )
来源:https://www.cnblogs.com/xyyie
声明: 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。如果您发现博客中出现了错误,或者有更好的建议、想法,请及时与我联系!!如果想找我私下交流,可以私信或者加我QQ。