Tag: antiforgerytoken

Web API和ValidateAntiForgeryToken

我们有一些现有的MVC Web服务,称为AJAX风格的网页。 这些服务使用ValidateAntiForgeryToken属性来帮助防止请求伪造。 我们希望将这些服务迁移到Web API,但似乎没有等效的防伪function。 我错过了什么吗? 使用Web API解决请求伪造有什么不同的方法吗?

排除防伪标记问题

我有一个表格post,一直给我一个反伪造令牌错误。 这是我的forms: @using (Html.BeginForm()) { @Html.AntiForgeryToken() @Html.EditorFor(m => m.Email) @Html.EditorFor(m => m.Birthday) <p> <input type="submit" id="Go" value="Go" /> </p> } 这是我的行动方法: [HttpPost] [ValidateAntiForgeryToken] public ActionResult Join(JoinViewModel model) { //a bunch of stuff here but it doesn't matter because it's not making it here } 这是web.config中的machineKey: <system.web> <machineKey validationKey="mykey" decryptionKey="myotherkey" validation="SHA1" decryption="AES" /> </system.web> 这是我得到的错误: A […]

如何使用$ .ajax发布JSON数据时提供AntiForgeryToken?

我正在使用下面的这个职位的代码: 首先,我将使用控制器操作的正确值填充数组variables。 使用下面的代码,我认为它应该是非常简单的,只需将以下行添加到JavaScript代码: data["__RequestVerificationToken"] = $('[name=__RequestVerificationToken]').val(); <%= Html.AntiForgeryToken() %>位于正确的位置,并且该操作具有[ValidateAntiForgeryToken] 但是我的控制器操作一直在说:“伪造令牌无效” 我在这里做错了什么? 码 data["fiscalyear"] = fiscalyear; data["subgeography"] = $(list).parent().find('input[name=subGeography]').val(); data["territories"] = new Array(); $(items).each(function() { data["territories"].push($(this).find('input[name=territory]').val()); }); if (url != null) { $.ajax( { dataType: 'JSON', contentType: 'application/json; charset=utf-8', url: url, type: 'POST', context: document.body, data: JSON.stringify(data), success: function() { refresh(); } }); }