Ответ 1
Спасибо всем за ваш ценный вклад, однако ниже код работал, как ожидалось.
actionContext.HttpContext.Request.Headers.TryGetValue("Authorization", out authorizationToken);
Я пытаюсь создать собственный фильтр в 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");