- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 webfarm 场景(带有多个 AppServer 的 ARR 前端)中运行 MVC 6 (vNext)。服务器关联已关闭。
当我在应用服务器之间从一个请求跳到另一个请求时出现错误
CryptographicException: The key {3275ccad-973d-43ca-930f-fbac4d276640} was not found in the key ring.
InvalidOperationException: The antiforgery token could not be decrypted.
services.AddDataProtection();
services.ConfigureDataProtection(configure =>
{
configure.SetApplicationName("WebAppName");
});
这不能解决问题。
最佳答案
解释
您需要重复使用相同的 key 。
如果您在 Azure 上, key 由 %HOME%\ASP.NET\DataProtection-Keys
上的 NAS 类型存储同步。 .
对于本地运行的应用程序,它们存储在 %LOCALAPPDATA%\ASP.NET\DataProtection-Keys
中。运行应用程序或存储在注册表中(如果它在 IIS 中执行)的用户的信息。
如果以上都不匹配,则为进程的生命周期生成 key 。
解决方案
所以第一个选项不可用(仅限 Azure)。但是,您可以同步来自 %LOCALAPPDATA%\ASP.NET\DataProtection-Keys
的 key 。在运行您的应用程序的每台机器上运行您的应用程序的用户。
但更好的是,您可以将其指向这样的网络共享:
sc.ConfigureDataProtection(configure =>
{
// persist keys to a specific directory
configure.PersistKeysToFileSystem(new DirectoryInfo(@"Z:\temp-keys\"));
});
services.ConfigureDataProtection(configure =>
{
// use 14-day lifetime instead of 90-day lifetime
configure.SetDefaultKeyLifetime(TimeSpan.FromDays(14));
});
关于asp.net-mvc - MVC 6 网络农场 : The antiforgery token could not be decrypted,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34319802/
我想在带有容器的单个节点中配置数据库场。我的想法是使用子域访问每个数据库,例如 mysql1.example.com:3306、mysql2.example.com:3306、mysql3.examp
我们有使用“NT Authority\Network Service”的网站。 Response.Write(WindowsIdentity.GetCurrent().Name); 我们目前正在使用以
这是个新手,如果这是一个愚蠢的问题,我深表歉意。我在 iPad Mini 2 和 iPad Air 1 上使用 Swift Playground Level 1。 我到达了 Gem Farm,现在 f
我是一名优秀的程序员,十分优秀!