我遇到过在 Ajax 调用时为 POST 方法实现防伪造 token 的情况,我在这里做的几件事是
[1]包含我的 POST Controller 方法的[ValidateAntiForgeryToken]
属性。
[2]将我的 js 中的 $.ajax
调用更改为 $.ajaxAntiForgery
。
类似地,我有一个 telerik 上传控件,我可以在其中从 cshtml 触发 Controller 方法(而不是 ajax 调用)- 下面的 cshtml 代码片段
@{ var upload = @Html.Telerik().Upload()
.Name("attachments")
.Multiple(true)
.Async(async => async.Save("MyMethodName", "MyConrollerName")
这种情况下,如何实现防伪呢?我需要在 cshtml、 Controller 中进行哪些更改?
谢谢, 阿达什
最佳答案
您好,如果您使用 MVC 的 Kendo Upload 包装器,防伪信息将自动发送到服务器。
由于您使用的是旧扩展,您可能需要使用 OnUpload事件来手动查找该值并将其发送到服务器。
例如
function onMyUpload(e){
e.data = { "__RequestVerificationToken": $('input[name=__RequestVerificationToken]').val() };
}
关于asp.net-mvc-3 - 为 Telerik 上传控制实现防伪造,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13679451/