none
Error desacoplando Asp Identity RRS feed

  • Pregunta

  • Buenas,

    Tengo la siguiente clase que gestiona el Login:

    namespace AppSCP.Infraestructure.CrossCutting.Identity.Configuration
    {
        public class ApplicationSignInManager : SignInManager<ApplicationUser, string>
        {
            public ApplicationSignInManager(ApplicationUserManager userManager, IAuthenticationManager authenticationManager)
                : base(userManager, authenticationManager)
            {
            }
    
            public override Task<ClaimsIdentity> CreateUserIdentityAsync(ApplicationUser user)
            {
                return user.GenerateUserIdentityAsync((ApplicationUserManager)UserManager);
            }
    
            public static ApplicationSignInManager Create(IdentityFactoryOptions<ApplicationSignInManager> options, IOwinContext context)
            {
                return new ApplicationSignInManager(context.GetUserManager<ApplicationUserManager>(), context.Authentication);
            }
        }
    }

    Para crear la instancia a través de Inyección de dependencia, tengo lo siguiente:

    public class BootStrapper
        {
            public static void RegisterServices(Container container)
            {
                container.Register<ApplicationDbContext>();
                container.Register<IUserStore<ApplicationUser>>(() => new UserStore<ApplicationUser>(new ApplicationDbContext()));
                container.Register<IRoleStore<IdentityRole, string>>(() => new RoleStore<IdentityRole>());
                container.Register<ApplicationRoleManager>();
                container.Register<ApplicationUserManager>();
                
                container.Register<ApplicationSignInManager>();
    
                //--
            }
    }

    Pero es justamente al parecer esa última línea la que lanza el siguiente error, cuando el contenedor DI verifica las dependencias:

    The configuration is invalid. Creating the instance for type ApplicationSignInManager failed. The constructor of type ApplicationSignInManager contains the parameter with name 'authenticationManager' and type IAuthenticationManager that is not registered. Please ensure IAuthenticationManager is registered, or change the constructor of ApplicationSignInManager.

    Por favor su apoyo, soy novato utilizando Asp Identity. 

    Muchas gracias

    domingo, 12 de marzo de 2017 0:03

Todas las respuestas