首页 > 解决方案 > 将自定义机器密钥添加到 Asp.Net Core 2.2

问题描述

我有 2 个应用程序,一个在 MVC 5 中,另一个在 asp.net core 2.2 上

我在 system.web 下的 MVC 5 上添加了机器密钥,如下所示

<machineKey
 validationKey="0C0D6B2776BE432EE3B1554D5C8F88C168944B7E9B7A0FFC885DDE9E9AFA093A"
 decryptionKey="09CCCB69B54D74DB1C2379AB13371EA3D6743227BE6E0092EA3FB762D53668A6"
 validation="SHA1"
 decryption="AES"
 />

我想为 .net 核心应用相同的密钥。我找到了一些使用数据保护的链接,但我未能将这些密钥添加到其中。

有什么方法可以将密钥应用于 asp.net 核心

标签: .netasp.net-mvcasp.net-coresystem-configuration

解决方案


我想为 .net 核心应用相同的密钥。我找到了一些使用数据保护的链接,但我未能将这些密钥添加到其中。

ASP.NET Core 不使用web.config,即使使用了,它也不使用机器密钥。加密是通过Data Protection处理的,它以完全不同的方式存储和生成密钥。

如果您需要在 ASP.NET 和 ASP.NET Core 之间共享诸如cookie 之类的东西,则必须以相反的方式工作并将其插入Data Protection API到您的 ASP.NET 应用程序中,以便它们使用与 ASP.NET Core 相同的系统。

参考:

https://docs.microsoft.com/en-us/aspnet/core/security/cookie-sharing?view=aspnetcore-3.1


推荐阅读