gpt4 book ai didi

asp.net-mvc-5 - asp.net mvc 错误-AntiForgeryToken "Decryption key specified has invalid hex characters"

转载 作者:行者123 更新时间:2023-12-04 07:29:22 25 4
gpt4 key购买 nike

我已经将一个 asp.net mvc 5 网站部署到我们客户的测试服务器上,当我浏览到一个带有表单的页面时出现以下错误:

"Decryption key specified has invalid hex characters"

查看堆栈跟踪,我可以看出这是由表单上使用的防伪标记引起的,该表单使用:System.Web.Security.Cryptography.MachineKeyMasterKeyProvider.GenerateCryptographicKey()。

我通过将机器关键元素添加到 web.config 解决了这个问题,如 this question 的第一个答案中所述。 ,以及许多其他的。

在 StackOverflow 和其他地方阅读了这个问题后,我无法理解为什么在我部署到的服务器上有必要。如果服务器是“网络农场”的一部分,但我部署到的环境是单个服务器,那么似乎只需要在 web.config 中明确定义机器 key 。此外,在本地或在我们的内部开发服务器上运行网站时,我自己或与我合作的任何其他开发人员都没有遇到过这个问题。

任何人都可以帮助我理解为什么在单个服务器设置中需要将机器 key 添加到 web.config 吗?可能与服务器本身的设置有关吗?

理想情况下,我不想指定机器 key ,但我主要关心的是全面了解可能导致此错误的原因。

欢迎任何建议或信息

最佳答案

我遇到了这个问题,由于无法更改 machine.config 文件,我不得不在 Web 应用程序级别更新本地 web.config 以包含 machineKey节点并覆盖机器级别的值。起初很有趣,我尝试只包括不起作用的解密和验证 key :

<machineKey
decryptionKey="513A71A2266CD92E99AA2970F18AE3F8A14DE3625BDD5792FB4AC15F9004693D"
validationKey="FBC9407A7ECE1C60741B44303670247CBE2E08B0658ED1031CF4A2582BDDFA4CD2E27201B083A5DF39C56C2D5B91674BD4FAB2EE644FB067D2C43633D3E6A724" />

将机器 key 包含在解密和验证 key 中并指定解密和验证算法为我解决了这个问题:

<machineKey
decryptionKey="513A71A2266CD92E99AA2970F18AE3F8A14DE3625BDD5792FB4AC15F9004693D"
validationKey="FBC9407A7ECE1C60741B44303670247CBE2E08B0658ED1031CF4A2582BDDFA4CD2E27201B083A5DF39C56C2D5B91674BD4FAB2EE644FB067D2C43633D3E6A724"
validation="SHA1"
decryption="AES" />

希望对大家有所帮助!

关于asp.net-mvc-5 - asp.net mvc 错误-AntiForgeryToken "Decryption key specified has invalid hex characters",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41298942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com