簡體   English   中英

無法在asp net core web API中獲取請求標頭

[英]Unable to get request header in asp net core web API

我試圖在asp net core web api中創建一個自定義過濾器,如下所示,但無法獲取標題信息。

internal class BasicAuthFilterAttribute : ActionFilterAttribute
{
  private StringValues xyz;

  public override void OnActionExecuting(ActionExecutingContext actionContext)
  {
    var authHeader = actionContext.HttpContext.Request.Headers.TryGetValue("Basic", out xyz);           
  }
}

TryGetValue總是返回false但是我可以看到Headers包含“Basic”標題。 因為我是ASP.NET Core的新手所以任何人都可以指導我可能做錯了什么?

這里標題是怎樣的。 在此輸入圖像描述

謝謝大家的寶貴意見,但下面的代碼按預期工作。

actionContext.HttpContext.Request.Headers.TryGetValue("Authorization", out authorizationToken);

這個怎么樣? 我們不得不接受新變量。 :)

bool tryGetValue = actionContext.ActionArguments.TryGetValue("data", out data);
var xyz = context.HttpContext.Request?.Headers["Basic"];
public static class HttpRequestExtension
{
    public static string GetHeader(this HttpRequest request, string key)
    {
        return request.Headers.FirstOrDefault(x => x.Key == key).Value.FirstOrDefault();
    }
}

調用方法:

 var Authorization = Request.GetHeader("Authorization");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM