1.在做JWT验证时,通过将token放在请求头部
beforeSend: function (XMLHttpRequest) {
XMLHttpRequest.setRequestHeader(......);
},
2.ASP.NET CORE MVC中,不通过ajax点击按钮进行提交,是怎样设置请求头(将验证信息下发到后台)的呢?
<form asp-controller="MyControls" asp-action="Update" id="main" method="post" data-ajax="true" data-ajax-complete="completed" data-ajax-success="afterSuccess" data-ajax-failure="failed">
引用 皆我百晓生 小程序回复内容作答:
对于在ASP.NET Core MVC中的非Ajax请求,可以通过添加中间件或在控制器中手动设置请求头来发送验证信息。
中间件方式:
在Startup.cs文件的Configure方法中添加以下代码,以设置全局的请求头:
app.Use((context, next) =>
{
// 设置请求头
context.Request.Headers["Authorization"] = "Bearer " + jwtToken;
return next();
});
这样,在每个请求处理之前,都会将JWT token添加到请求头部。
控制器方式:
您可以在控制器的方法中手动设置请求头,如下所示:
[HttpPost]
public IActionResult Update()
{
// 设置请求头
HttpContext.Request.Headers["Authorization"] = "Bearer " + jwtToken;
// 处理逻辑
// ...
return View();
}
在该方法中,您可以使用HttpContext
对象的Request
属性来获取请求对象,并设置请求头中的授权信息。
这两种方式都可以在非Ajax请求中设置请求头,以便将验证信息发送到后台。根据您的具体需求,选择适合您的方式。
希望能帮助到您!如果您有任何其他问题,请随时提问。
【相关推荐】