如何在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()的情况下做到这一点?

如何在ASP中使用AntiForgeryToken创建元标记?NET MVC应用程序

如果您仍然希望在元标记中使用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">