Web Api 我应该在哪里控制 Request Header 数据
Web Api and where should I contorol Request Header data
在Asp.net Web Api中,我想控制,请求"access token"键(在请求header中)是否有效。但我无法决定我应该在哪里实施这种控制。 ActionFilter 或控制器构造函数等
使用 DelegatingHandler 怎么样?它是 Web Api 管道的一部分,并在路由和控制器处理程序之前执行。
一个非常简单的访问令牌处理程序可能如下所示。您可以根据需要实施 IsValid。
public class ValidateTokenHandler : DelegatingHandler
{
protected async override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var token = request.Headers.Authorization;
if (token == null or !IsValid(token))
{
return new HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
}
return await base.SendAsync(request, cancellationToken);
}
}
在Asp.net Web Api中,我想控制,请求"access token"键(在请求header中)是否有效。但我无法决定我应该在哪里实施这种控制。 ActionFilter 或控制器构造函数等
使用 DelegatingHandler 怎么样?它是 Web Api 管道的一部分,并在路由和控制器处理程序之前执行。
一个非常简单的访问令牌处理程序可能如下所示。您可以根据需要实施 IsValid。
public class ValidateTokenHandler : DelegatingHandler
{
protected async override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
var token = request.Headers.Authorization;
if (token == null or !IsValid(token))
{
return new HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
}
return await base.SendAsync(request, cancellationToken);
}
}