Używam Membership Reboot w moim Asp.Net5 MVC aplikacji 6 internetowej do zarządzania swoją tożsamość, loginów itpGetOwinContext w MVC 6
Próbuję dostać MR OwinAuthenticationService pracuje jako wdrożenie do interfejsu IAuthenticationService
które Jestem zależny od iniekcji do kontrolerów.
Próbkę tego wymaga wtryskiwania IAuthenticationService
zależności stosując następującą rejestracji 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();
W MVC5, byłoby dobrze, jak HttpContext.Current.GetOwinContext()
jako metodę rozszerzenia w zespole Microsoft.Owin.Host.SystemWeb
. Jednak ten zestaw nie jest już używany w MVC6, a więc HttpContext.Current
nie rozwiązuje problemu.
Widziałem, że nowy sposób dostępu do HttpContext
wykorzystuje nowy interfejs IHttpContextAccessor
, ale to nie rozwiązuje problemu uzyskania kontekstu Owin.
Czy istnieje sposób na uzyskanie aktualnego kontekstu Owin w MVC6 lub w aktualnym słowniku środowiska Owin (ponieważ używa tego klasa OwinAuthenticationService
)?
Pracuję nad uwierzytelnieniem, które działa z Owinem i nie jest jeszcze obsługiwane w nowym środowisku ASP.NET Core i pojawia się ten sam problem. Czy znalazłeś jakiś sposób, aby stary pracował z nowym? Nie mogę wyzwolić mojego wylogowania z tego, co jest skonfigurowane w kontekście Owin podczas uruchamiania z kontrolera bez dostępu do kontekstu Owin. –
Mam ten sam problem. Potrzebuję kontekstu Owin do użytkownika SignOut. Każde obejście_ –