C# 如何在ASP.NET MVC(Orchard CMS)中禁用防伪?
我得到了一个要测试的站点,在不同的机器上运行客户端AJAX时,我遇到了一个常见错误:C# 如何在ASP.NET MVC(Orchard CMS)中禁用防伪?,c#,asp.net,.net,asp.net-mvc,orchardcms,C#,Asp.net,.net,Asp.net Mvc,Orchardcms,我得到了一个要测试的站点,在不同的机器上运行客户端AJAX时,我遇到了一个常见错误: Exception Details: System.Web.Mvc.HttpAntiForgeryException: A required anti-forgery token was not supplied or was invalid. 有没有办法禁用此功能,以便我可以在开发环境中运行?我尝试将以下属性添加到我的web.config并添加机器密钥,但没有执行任何操作: <pages ... en
Exception Details: System.Web.Mvc.HttpAntiForgeryException: A required anti-forgery token was not supplied or was invalid.
有没有办法禁用此功能,以便我可以在开发环境中运行?我尝试将以下属性添加到我的web.config并添加机器密钥,但没有执行任何操作:
<pages ... enableEventValidation="false" viewStateEncryptionMode="Never" enableViewStateMac="false">...
。。。
您可以(暂时)禁用ASPX文件中的令牌:
尝试更新module.txt中的“Antifforgery”属性:
AntiForgery: disabled
我认为更好的办法是:
AntiForgeryConfig.SuppressIdentityHeuristicChecks = True;
希望对您有所帮助。+1请注意,如果您使用orchard命令行工具创建模块,则默认情况下,此选项设置为enabled。如果您的操作仍然具有ValidateAntiForgeryToken属性,我看不出此选项如何工作。上面这行创建的缺少的标记是系统应该通过抛出异常来响应的。您也可以(有条件地)取消这些属性。但我同意这可能不是最好的答案。
AntiForgeryConfig.SuppressIdentityHeuristicChecks = True;