实现Telerik上传控制的防伪

时间:2012-12-03 08:18:46

标签: asp.net-mvc-3 csrf telerik-mvc antiforgerytoken

我遇到了一个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,控制器中做些什么改变?

谢谢, 阿达什讷

1 个答案:

答案 0 :(得分:1)

您好,如果您使用MVC的Kendo Upload包装器,防伪设备将自动发送到服务器。

由于您使用的是旧版扩展程序,因此可能需要使用OnUpload事件手动查找该值并将其发送到服务器。

e.g。

function onMyUpload(e){
    e.data = { "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val() };
}