2015-06-21 52 views

回答

2

如何使用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); 
    } 
} 
+0

嗨西蒙,谢谢你的代码和链接。我将您的解决方案实施到我的Api并且它运行良好。知道我能够检查我的访问令牌 – zapoo