Я использую Membership Reboot в моем Asp.Net5 MVC 6 веб-приложение для управления моей личности, логины и т.д.GetOwinContext в MVC 6
Я пытаюсь получить МР OwinAuthenticationService работы в качестве реализации для интерфейса IAuthenticationService
, который я am впрыскивание в мои контроллеры.
Образец для этого предполагает введение в зависимости IAuthenticationService
с помощью следующей Autofac регистрации:
builder.Register(ctx=>HttpContext.Current.GetOwinContext()).As<IOwinContext>();
builder.Register<IAuthenticationService>(ctx =>
{
var owin = ctx.Resolve<IOwinContext>();
return new OwinAuthenticationService(
MembershipRebootOwinConstants.AuthenticationType,
ctx.Resolve<IUserAccountService>(),
owin.Environment);
}).InstancePerLifetimeScope();
В MVC5, что было бы хорошо, как HttpContext.Current.GetOwinContext()
в качестве метода расширения в Microsoft.Owin.Host.SystemWeb
сборки. Однако эта сборка больше не используется в MVC6, поэтому HttpContext.Current
не разрешает.
Я видел, что новый способ доступа к HttpContext
использует новый интерфейс IHttpContextAccessor
, но это не решает проблему получения контекста Owin.
Есть ли способ получить текущий контекст Owin в MVC6 или текущий словарь среды Owin (так как это класс OwinAuthenticationService
)?
Я работаю над некоторой аутентификацией, которая работает с Owin и еще не поддерживается в новом мире ASP.NET Core, и я столкнулся с той же проблемой. Вы нашли какой-нибудь способ заставить старый работать с новым? Я не могу заставить свой указатель запускать с тем, что настроено в контексте Owin при запуске с контроллера без доступа к контексту Owin. –
У меня такая же проблема. Мне нужен Owin-контекст для пользователя SignOut. Любое решение –