2017-02-21 11 views
4

아래와 같지만 헤더 정보를 얻을 수없는 asp net 핵심 웹 API에서 사용자 정의 필터를 만들려고합니다.asp net 핵심 웹 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 코어에서 새로운 사람이라면 누구나 내가 뭘 잘못하고 있는지 안내 할 수 있습니까?

헤더의 모양입니다. 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"];

관련 문제