我遇到了一个POST方法的反伪造令牌,当它是一个ajax调用时,我在这里做的几件事是
[1]包含我的POST控制器方法的[ValidateAntiForgeryToken]
属性。
[2]在我的js中将$.ajax
电话改为$.ajaxAntiForgery
。
同样我有一个telerik上传控件,我从cshtml(而不是ajax调用)触发控制器方法 - 下面的cshtml代码片段
@{ var upload = @Html.Telerik().Upload()
.Name("attachments")
.Multiple(true)
.Async(async => async.Save("MyMethodName", "MyConrollerName")
在这种情况下,我该如何实施防伪?我需要在cshtml,控制器中做些什么改变?
谢谢, 阿达什讷
答案 0 :(得分:1)
您好,如果您使用MVC的Kendo Upload包装器,防伪设备将自动发送到服务器。
由于您使用的是旧版扩展程序,因此可能需要使用OnUpload事件手动查找该值并将其发送到服务器。
e.g。
function onMyUpload(e){
e.data = { "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val() };
}