我正在尝试使用ASP.NET NVC来编写应用程序。
我想在包含Meta
的页眉中添加AntiForgeryToken
标记。我希望能够通过jQuery
阅读,而无需将@Html.AntiForgeryToken()
添加到手动提交的表单中。
我知道@Html.AntiForgeryToken()
会生成一个隐藏的输入字段,但我需要添加一个元标记nstead。
如何在不更改@Html.AntiForgeryToken()
的情况下执行此操作?
答案 0 :(得分:0)
如果您仍然希望在meta标签中包含CSRF令牌,请尝试执行以下操作:
在您的_Layout.cshtml
文件中:
@inject Microsoft.AspNetCore.Antiforgery.IAntiforgery Csrf
@function
{
public string GetCsrfToken()
{
return Csrf.GetAndStoreTokens(Context).RequestToken;
}
}
然后在您的head
标签内,如下放置以下meta
标签:
<meta charset="UTF-8" content="@GetCsrfToken()" csrf-param="_csrf_token" method-param="_method" name="csrf-token">