如何在ASP中使用AntiForgeryToken创建元标记?NET MVC应用程序
本文关键字:NET 应用程序 MVC 创建 AntiForgeryToken ASP | 更新日期: 2023-09-27 18:02:54
我正在尝试使用ASP。. NET NVC编写应用程序。
我喜欢在包含AntiForgeryToken
的页面头部添加Meta
标签。我希望能够通过jQuery
来阅读它,而不必将@Html.AntiForgeryToken()
添加到手动提交的表单中。
我知道@Html.AntiForgeryToken()
将生成一个隐藏的输入字段,但我需要添加一个元标记代替。
如何在不改变@Html.AntiForgeryToken()
的情况下做到这一点?
如果您仍然希望在元标记中使用CSRF令牌,请尝试执行以下操作:
在_Layout.cshtml
文件中:
@inject Microsoft.AspNetCore.Antiforgery.IAntiforgery Csrf
@functions
{
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">