Вы можете сгенерировать собственный токен AntiForgery, вызвав следующую функцию в вашем бритвенном представлении.
@functions{
public string GetAntiForgeryToken()
{
string cookieToken, formToken;
System.Web.Helpers.AntiForgery.GetTokens(null, out cookieToken, out formToken);
return cookieToken + ":" + formToken;
}
}
<script>
$.ajax({
type: "POST",
url: 'xxx',
data: data,
headers: { '__RequestVerificationToken': GetAntiForgeryToken()},
success: function (data) {
//if success
},
error: function (e) {
//if error
}
});
</script>
И теперь внутри вашего фильтра атрибутов вы можете проверить его, используя следующий код:
string tokenValue = request.Headers["__RequestVerificationToken"];
if (!String.IsNullOrEmpty(tokenValue))
{
string[] tokens = tokenValue.Split(':');
if (tokens.Length == 2)
{
cookieToken = tokens[0].Trim();
formToken = tokens[1].Trim();
}
}
System.Web.Helpers.AntiForgery.Validate(cookieToken, formToken);