通过将 ValidateAntiForgeryToken 属性应用于操作并在表单中使用 sp-antiforgery=true 可以轻松地向 Asp.Net Core MVC 应用程序添加防伪造.
如何保护 Web API Controller 的 CRUD 操作,该 Controller 使用带有 Authorize 属性的个人身份验证和客户端的 Kendo MVC 网格?
请您参考如下方法:
您可以创建一个 Controller 并注入(inject) IAntiforgery 以获取 XsrfToken,然后将其与请求一起发送以进行验证。
[Route("api/[controller]")]
public class XsrfTokenController : Controller
{
private readonly IAntiforgery _antiforgery;
public XsrfTokenController(IAntiforgery antiforgery)
{
_antiforgery = antiforgery;
}
[HttpGet]
public IActionResult Get()
{
var tokens = _antiforgery.GetAndStoreTokens(HttpContext);
return new ObjectResult(new {
token = tokens.RequestToken,
tokenName = tokens.HeaderName
});
}
}
您可以在 here 上阅读更多相关信息
