2017-02-21 40 views
4

下記のように、ヘッダー情報を取得できない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は常にしかし、私はHeadersは "基本" ヘッダが含まれて見ることができますfalseを返します。私がASP.NET Coreで新しくなったので誰でも私が間違っていることを教えてくれますか?

ヘッダーの表示方法 enter image description here

+1

キーではなく、値で「基本」をチェックする必要がありますか? –

+0

@AleksejVasinovありがとうございます、あなたは正しいキーは "基本"ではなく "認証"でなければなりません。 –

+0

左側がキー、右側が値です。 –

答えて

8

貴重なご意見ありがとうございますが、以下のコードは期待どおりに機能しました。

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

+5

C#7を使用している場合は、変数の宣言を省略することができます:actionContext HttpContext.Request.Headers.TryGetValue( "Authorization"、out var unittId); – AFD

0

var xyz = context.HttpContext.Request?.Headers ["Basic"];

関連する問題