Ich verwende Membership Reboot in meiner Asp.Net5 MVC 6 Webapplikation meine Identität zu verwalten, Anmeldungen usw.GetOwinContext in MVC 6
Ich versuche, für die IAuthenticationService
Schnittstelle als Implementierung zu erhalten MR OwinAuthenticationService arbeitet die ich bin eine Abhängigkeit, die in meine Controller injiziert.
Die Probe für Dies beinhaltet die IAuthenticationService
Injizieren in Abhängigkeit mit der folgenden Autofac Anmeldung:
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();
In MVC5, daß als HttpContext.Current.GetOwinContext()
als Erweiterung Methode in der Microsoft.Owin.Host.SystemWeb
Montage Ordnung sein würde. Diese Assembly wird jedoch nicht mehr in MVC6 verwendet und HttpContext.Current
wird nicht aufgelöst.
Ich habe gesehen, dass die neue Art des Zugriffs HttpContext
die neue Schnittstelle IHttpContextAccessor
verwendet, aber dies löst nicht das Problem, den Owin-Kontext zu bekommen.
Gibt es eine Möglichkeit, den aktuellen Owin-Kontext in MVC6 oder das aktuelle Owin-Umgebungswörterbuch zu erhalten (da verwendet die Klasse OwinAuthenticationService
)?
Ich arbeite an einer Authentifizierung, die mit Owin funktioniert und noch nicht in der neuen ASP.NET Core-Welt unterstützt wird und das gleiche Problem auftritt. Hast du einen Weg gefunden, das Alte mit dem Neuen zu arbeiten? Ich kann mein signout nicht mit dem auslösen, was in einem Owin-Kontext beim Start vom Controller konfiguriert ist, ohne auf den Owin-Kontext zuzugreifen. –
Ich habe das gleiche Problem. Ich brauche einen Owin-Kontext, um den SignOut-Benutzer tatsächlich zu verwenden. Irgendeine Problemumgehung_ –