2016-06-09 18 views
4

Ich habe ein Problem mit owin Konfiguration in typischen asp.net-Projekt mit Identity und Burg Windsor. Die Sache ist, ich mag wirklich, wie Identität und owin werden, wie das Senden Cookie loging Benutzer und so weiter alle benutzer Sachen Verwaltung, aber es erfordert den folgenden Code:Burg Windsor mit owin und Identität

[assembly: OwinStartupAttribute(typeof(OwinStartUp.Startup))] 
namespace OwinStartUp 
{ 
public partial class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 

     app.CreatePerOwinContext(DbOwinHelper.CreateDbContext); 
     app.CreatePerOwinContext<ApplicationUserManager>(DbOwinHelper.CreateUserManager); 
     app.CreatePerOwinContext<ApplicationSignInManager>(DbOwinHelper.CreateSignInManager);      

     app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie, 

      LoginPath = new PathString("/Account/Login"), 
      Provider = new CookieAuthenticationProvider 
      { 
       OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, MyIdentityUser, Guid>(
     validateInterval: TimeSpan.FromMinutes(30), 
     regenerateIdentityCallback: (manager, user) => user.GenerateUserIdentityAsync(manager), 
     getUserIdCallback: (user) => Guid.Parse(user.GetUserId())) 
      } 
     }); 
    } 
} 

}

so in z.B. Controller ich habe dies schreiben:

var signInManager = HttpContext.GetOwinContext().Get<ApplicationSignInManager>(); 

statt dessen (was ich preffer)

var signinmanager = container.Resolve<ISignInManager<IMyIdentityUser>>(); 

oder zumindest

var signinmanager = container.Resolve<ApplicationSignInManager>(); 

Wie kann ich windsor mit owin Pipeline integrieren? Oder, zumindest, wie CookieAuthentication mit meinem benutzerdefinierten ApplicationSignInManager verwendet werden kann, ohne owin (und ohne die komplette Cookie-Authentifizierung von mir selbst neu zu schreiben)?

Ich habe viele Artikel mit Schloss Windsor als OWIN Abhängigkeit Resolver zu sehen, aber es war vor allem über Selbst-Hosting-Owin.

Antwort