Вам нужно будет создать некоторые другие классы и интерфейсы:
public interface IApplicationUserStore : IUserStore<ApplicationUser, string>
{
}
public class ApplicationUserStore :
UserStore<ApplicationUser, ApplicationRole, Guid, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>,
IApplicationUserStore
{
public ApplicationUserStore()
: base(new ApplicationDbContext())
{
}
public ApplicationUserStore(ApplicationDbContext context)
: base(context)
{
}
}
И создать класс ApplicationDbContext
public class ApplicationDbContext : IdentityDbContext<ApplicationUser, ApplicationRole, string, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
public ApplicationDbContext()
: base("AuthenticationConnectionString")
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
...
}
то из вашей ApplicationUserManager вы могли бы назвать
var manager = new ApplicationUserManager(new ApplicationUserStore(context.Get<ApplicationDbContext>()));
И это полный класс ApplicationUserManager, который получает IApplica tionUserStore в конструкторе:
public class ApplicationUserManager : UserManager<ApplicationUser, Guid>
{
public ApplicationUserManager(IApplicationUserStore store)
: base(store)
{
}
public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
{
var manager = new ApplicationUserManager(new ApplicationUserStore(context.Get<ApplicationDbContext>())) { PasswordHasher = new CustomPasswordHasher() };
// Configure validation logic for passwords
manager.PasswordValidator = new PasswordValidator
{
RequiredLength = 6,
RequireNonLetterOrDigit = false,
RequireDigit = true,
RequireLowercase = true,
RequireUppercase = false,
};
return manager;
}
}
Я отредактировал ваше название. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –