2016-02-12 20 views
6

Sto usando Membership Reboot nel mio Asp.Net5 MVC applicazione 6 web per gestire la mia identità, accessi eccGetOwinContext in MVC 6

Sto cercando di ottenere di MR OwinAuthenticationService lavorare come un'implementazione per l'interfaccia IAuthenticationService che ho Sono dipendenza che si iniettano nei miei controllori.

Il campione di questo consiste nell'iniettare il IAuthenticationService seconda utilizzando la seguente registrazione 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(); 

In MVC5, che sarebbe bene come HttpContext.Current.GetOwinContext() come un metodo di estensione nell'assieme Microsoft.Owin.Host.SystemWeb. Tuttavia, questo assembly non è più utilizzato in MVC6 e pertanto HttpContext.Current non viene risolto.

Ho visto che il nuovo modo di accedere a HttpContext utilizza la nuova interfaccia IHttpContextAccessor, ma questo non risolve il problema di ottenere il contesto di Owin.

C'è un modo per ottenere il contesto Owin corrente in MVC6 o l'attuale dizionario dell'ambiente Owin (poiché questo è ciò che utilizza la classe OwinAuthenticationService)?

+0

Sto lavorando su qualche autenticazione che funziona con Owin e non è ancora supportata nel nuovo mondo ASP.NET Core e sto incontrando lo stesso problema. Hai trovato un modo per far funzionare il vecchio con il nuovo? Non riesco a far partire il mio segnale con quello che è configurato in un contesto Owin all'avvio dal controller senza accedere al contesto di Owin. –

+0

Ho lo stesso problema. Ho bisogno di un contesto Owin per l'utente SignOut in realtà. Qualsiasi soluzione alternativa –

risposta