Ich versuche, meine Dependency Injection einzurichten, und ich brauche eine IAuthenticationManager
von ASP.NET Identity zu einem OwinContext
.Wie bekomme ich OwinContext von Global.asax?
dieses Denn ich von meinem Global.asax -> ServiceConfig.Configure()
Laufen bin:
container.Register(() => HttpContext.Current.GetOwinContext().Authentication);
Aber wenn ich meine Anwendung laufen lasse bekomme ich diese Meldung:
Artikel Nr owin.Environment im Kontext gefunden wurde
Warum ist diese HttpContext.Current.GetOwinContext() nicht verfügbar von Global.asax?
Startup.cs
[assembly: OwinStartupAttribute(typeof(MyApp.Web.Startup))]
namespace Speedop.Web
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
ConfigureAuth(app);
}
}
}
Startup.Auth.cs
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider
{
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<UserManager<User, int>, User, int>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentityCallback: (manager, user) => manager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie),
getUserIdCallback: (id) => (Int32.Parse(id.GetUserId()))
)
}
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
}
}
finden Sie unter [diese Antwort] (http://stackoverflow.com/questions/20168978/do-i-need-a-global-asax-cs-file-at-all -if-im-using-ein-owin-startup-cs-class-und). Hauptsächlich wird Global.asax vor Startup.cs aufgerufen. – Jonesopolis
Hm, ich habe 'Microsoft.Owin.Host.SystemWeb.dll' in meinem Verzeichnis. Ich habe versucht, alles von meinem Global.asax auf Startup.cs zu verschieben, nachdem ich ConfigureAuth (...) noch die gleiche Nachricht kam. – janhartmann
Ich habe gerade versucht, eine ganz neue Beispiel-App zu erstellen und habe versucht, den OwinContext mit denselben Ergebnissen zu erhalten. Es muss einen Weg geben :-) – janhartmann