0
在Asp.net Web Api中,我想要控制,请求“访问令牌”键(它在请求标题中)是否有效。但是我不能决定我应该在哪里实施这种控制。 ActionFilter或控制器构造函数等。Web Api和我应该在哪里contorol请求标头数据
在Asp.net Web Api中,我想要控制,请求“访问令牌”键(它在请求标题中)是否有效。但是我不能决定我应该在哪里实施这种控制。 ActionFilter或控制器构造函数等。Web Api和我应该在哪里contorol请求标头数据
如何使用DelegatingHandler?它是Web Api管道的一部分,并在Routing和Controller处理程序之前执行。
访问令牌的一个非常简单的处理程序可能看起来像这样。如果您认为合适,您将实施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);
}
}
嗨西蒙,谢谢你的代码和链接。我将您的解决方案实施到我的Api并且它运行良好。知道我能够检查我的访问令牌 – zapoo