.net 防伪cookie令牌和表单字段令牌不匹配-Orchard 1.8.1

.net 防伪cookie令牌和表单字段令牌不匹配-Orchard 1.8.1,.net,azure,orchardcms,orchardcms-1.8,.net,Azure,Orchardcms,Orchardcms 1.8,我使用@Html.AntiForgeryTokenOrchard()方法来呈现令牌。我在提交表单时遇到此错误。该网站位于Azure Web上。当我使用原始站点名xxxx.azurewebsites.net时,令牌就起作用了。只有当我使用映射的域名时,才会出现此错误。该错误与浏览器无关,但是,如果我强制更新站点(CTRL+F5)并发布表单,则标记会起作用。如果我打开一个新的incognito浏览器窗口,新会话将再次失败 我在web.config中配置了机器密钥 请帮我摆脱这个讨厌的虫子。感谢您的帮

我使用@Html.AntiForgeryTokenOrchard()方法来呈现令牌。我在提交表单时遇到此错误。该网站位于Azure Web上。当我使用原始站点名xxxx.azurewebsites.net时,令牌就起作用了。只有当我使用映射的域名时,才会出现此错误。该错误与浏览器无关,但是,如果我强制更新站点(CTRL+F5)并发布表单,则标记会起作用。如果我打开一个新的incognito浏览器窗口,新会话将再次失败

我在web.config中配置了机器密钥

请帮我摆脱这个讨厌的虫子。感谢您的帮助。
谢谢。

您不能在同一表单上同时拥有防伪和缓存,因为防伪令牌是不可重用的,并且是响应的一部分。因此,您需要在它们之间进行选择。任何包含不可能伪造的信息的表单(几乎是任何表单)都应该具有防伪功能。因此,默认的解决方案应该是禁用缓存,在呈现表单的控制器操作上使用
[OutputCache]
属性。如果您更喜欢缓存而不是防伪,现在可以使用表单目标操作上的
[ValidateAntiForgeryTokenOrchard]
属性逐个操作关闭防伪。
但同样,最好禁用缓存。

您不能在同一形式上同时使用防伪和缓存,因为防伪令牌是不可重用的,并且是响应的一部分。因此,您需要在它们之间进行选择。任何包含不可能伪造的信息的表单(几乎是任何表单)都应该具有防伪功能。因此,默认的解决方案应该是禁用缓存,在呈现表单的控制器操作上使用
[OutputCache]
属性。如果您更喜欢缓存而不是防伪,现在可以使用表单目标操作上的
[ValidateAntiForgeryTokenOrchard]
属性逐个操作关闭防伪。
但同样,最好禁用缓存。

您不能在同一形式上同时使用防伪和缓存,因为防伪令牌是不可重用的,并且是响应的一部分。因此,您需要在它们之间进行选择。任何包含不可能伪造的信息的表单(几乎是任何表单)都应该具有防伪功能。因此,默认的解决方案应该是禁用缓存,在呈现表单的控制器操作上使用
[OutputCache]
属性。如果您更喜欢缓存而不是防伪,现在可以使用表单目标操作上的
[ValidateAntiForgeryTokenOrchard]
属性逐个操作关闭防伪。
但同样,最好禁用缓存。

您不能在同一形式上同时使用防伪和缓存,因为防伪令牌是不可重用的,并且是响应的一部分。因此,您需要在它们之间进行选择。任何包含不可能伪造的信息的表单(几乎是任何表单)都应该具有防伪功能。因此,默认的解决方案应该是禁用缓存,在呈现表单的控制器操作上使用
[OutputCache]
属性。如果您更喜欢缓存而不是防伪,现在可以使用表单目标操作上的
[ValidateAntiForgeryTokenOrchard]
属性逐个操作关闭防伪。

但同样,最好禁用缓存。

是否涉及缓存?为了避免浏览器端缓存,页面具有必需的元标记,但是我不确定是否发生了其他缓存。我该怎么查呢?Thx。通过查看已启用的功能,如果已启用则禁用,然后重试。感谢您提供的信息。经过短暂的测试,这似乎是问题的根源。所以,希望它不会再次出现。但是,如果我理解正确,这意味着我不能同时使用防伪验证和缓存功能。是否可以在页面/操作级别配置此行为?因此,我可以决定是将某个页面从缓存中排除,还是关闭某个控制器操作的防伪验证?如果可以实现,我应该在哪里查找更多信息?谢谢你,你只需要在那些必须用防伪软件发布的页面上禁用缓存。您应该确定表单是否支持防伪,如果不支持,则在目标操作上抑制防伪。伪造和防伪是不可调和的:防伪的真正目的是确定一个帖子的来源。如果你可以用令牌复制一篇旧文章,那就违背了目的,因此令牌是时间敏感的。是否涉及缓存?为了避免浏览器端缓存,页面具有所需的元标记,但是我不确定是否发生了任何其他缓存。我该怎么查呢?Thx。通过查看已启用的功能,如果已启用则禁用,然后重试。感谢您提供的信息。经过短暂的测试,这似乎是问题的根源。所以,希望它不会再次出现。但是,如果我理解正确,这意味着我不能同时使用防伪验证和缓存功能。是否可以在页面/操作级别配置此行为?因此,我可以决定是将某个页面从缓存中排除,还是关闭某个控制器操作的防伪验证?如果可以实现,我应该在哪里查找更多信息?谢谢你,你只需要在那些必须用防伪软件发布的页面上禁用缓存。您应该确定表单是否支持防伪,如果不支持,则在目标操作上抑制防伪。伪造和防伪是不可调和的:防伪的真正目的是确定一个帖子的来源。如果你能合作的话