Альтернатива для использования HttpContext в System.Web для Owin

Аутентификация ASP.NET теперь основана на промежуточном программном обеспечении OWIN, которое можно использовать на любом хосте на основе OWIN. ASP.NET Identityне имеет никакой зависимости от System.Web.

У меня есть фильтр AuthorizeAttribute, в котором мне нужно получить текущего пользователя и добавить некоторые свойства, которые впоследствии будут получены контроллерами действий.

Проблема в том, что я должен использовать HttpContext, который принадлежит System.Web. Есть ли альтернатива HttpContext для Оуэна?

public class WebApiAuthorizeAttribute : AuthorizeAttribute 
{
    public override async Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
    {
        base.OnAuthorization(actionContext);

        Guid userId = new Guid(HttpContext.Current.User.Identity.GetUserId());

        ApplicationUserManager manager = new ApplicationUserManager(new ApplicationUserStore(new ApplicationDbContext())) { PasswordHasher = new CustomPasswordHasher() };
        ApplicationUser user = await manager.FindByIdAsync(userId);

        actionContext.Request.Properties.Add("userId", user.LegacyUserId);
    }
}

Примечание: я нашелэтот вопрос, который кажется дубликатом, но просит решение, работающее для проекта NancyFx, которое мне не подходит.

Ответы на вопрос(3)

Ваш ответ на вопрос