Отправляю запрос с заголовком Autorization. Если смотреть данные о запросе через кастомный middleware, то он там есть
Далее дело доходит до контроллера
[HttpGet]
[ActionName("GetUserData")]
public string GetUserData()
{
return HttpContext.User.Claims.FirstOrDefault(x=>x.Type=="Email").Value;
}
И тут уже заголовок вместе с Claims куда-то пропадает
По какой причине данные о запросе исчезают, пока доходят до контроллера?
Метод Configure выглядит следующим образом:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseAuthentication();
//MyMiddleware в этом не причастен, пробовал его убирать
app.UseMiddleware<MyMiddleware>();
app.UseHttpsRedirection();
app.UseMvc();
}
Заметил, что хоть и отправляю запрос протоколом http на порт 5000, в контроллере HttpContext.Request.Scheme имеет значение https. Покопался и нашел причину.
По стандарту Параметры веб сервера в свойствах проекта имеют следующий вид:
https://localhost:5001;http://localhost:5000
Если же все протоколы здесь привести к одному виду (либо http либо https), то данные о запросе не пропадают и доходят до контроллера. Не знаю, почему так, но буду благодарен, если кто-то объяснит сие явление.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Мне немного не ясен механизм работы виртуальных методов в C#Знаю, что для каждого класса, имеющего виртуальные методы, есть своя таблица виртуальных...
встретил такую конструкцию в кодяре: [In, Out] byte[] array Передается как параметрДайте пожалуйста четкое конкретно объяснение, зачем оно нужно,...
Есть два любых контролаОдин главный, второй дочерний
Допустим, есть List<SomeObject>, где SomeObject- это какой-то объект с десятком полей