IHttpContextAccessor в ActionFilterAttribute Identity.Name имеет значение Null - PullRequest
0 голосов
/ 28 сентября 2019

Я настроил AuthorizationFilter на действие контроллера Api, во время первого вызова устанавливается Идентификация пользователя, но при обращении к httpContextAccessor в последующих API-запросах User.Identity.Name запрашивается равным нулю.

Iпытался использовать инъекцию с настройкой HttpContextAccessor как одиночного.

Код AuthorizationFilter:

IIdentity identity = _singleSignOnUserService.GetUser(userInfo); _httpContextAccessor.HttpContext.User = new GenericPrincipal(identity, null);

Startup.cs Код инъекции:

services.AddScoped<AuthAttribute>();

services.AddSingleton<IHttpContextAccessor, HttpContextAccessor>();

Код контроллера:

private readonly IHttpContextAccessor _httpContextAccessor; TesController(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; }

Почему _httpContextAccessor.HttpContext.User.Identity.Name будет нулевым, даже если AuthorizeFilter установил значение

1 Ответ

0 голосов
/ 30 сентября 2019

Я решил эту проблему, установив токен авторизации в заголовке клиентских запросов в Webapi, оказалось, что проблема была в том, что клиентское приложение - Angular и Core Webapi размещено в разных доменах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...