2016-06-09 1 views
4

J'ai un problème avec la configuration d'owin dans le projet typique asp.net en utilisant Identity et castle windsor. La chose est que je aime vraiment la façon dont l'identité et owin gèrent toutes les-stuff utilisateur comme envoyer cookie à l'utilisateur loging et ainsi de suite, mais il faut le code suivant:Château windsor avec owin et Identity

[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())) 
      } 
     }); 
    } 
} 

}

donc en exemple contrôleur je dois écrire ceci:

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

au lieu de cela (que je preffer)

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

ou au moins

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

Comment intégrer windsor avec pipeline owin? Ou, à tout le moins, comment utiliser CookieAuthentication avec mon ApplicationSignInManager personnalisé sans owin (et sans réécrire l'authentification complète des cookies par les miens)?

J'ai vu beaucoup d'articles avec castle windsor comme owin résolveur de dépendances mais c'était surtout au sujet de l'auto-hébergement owin.

Répondre