是否有机会使用 AspNet Core Identity 用户 IdentityManager?
我没有为 AspNetCoreidentity 找到任何 IIdentityManagerService 实现。
或者,在使用 AspnetCore 身份时是否可以替代 IdentityManager?
谢谢你。
是否有机会使用 AspNet Core Identity 用户 IdentityManager?
我没有为 AspNetCoreidentity 找到任何 IIdentityManagerService 实现。
或者,在使用 AspnetCore 身份时是否可以替代 IdentityManager?
谢谢你。
是的,您可以使用 IdentityManager 来管理您的 AspNetIdentity 用户。
IdentityManager 本身有一个实现,称为 IdentityManager.AspNetIdentity。您可能想通读Scott Hanselman 的一篇描述您的场景的文章。
您本质上想要做的是在加载继承自AspNetIdentityManagerService
public class ApplicationIdentityManagerService : AspNetIdentityManagerService<ApplicationUser, string, IdentityRole, string>
{
public ApplicationIdentityManagerService(ApplicationUserManager userMgr, ApplicationRoleManager roleMgr) : base(userMgr, roleMgr)
{
// Nothing
}
}
然后,您可以将其插入您的工厂,如下所示:
app.Map("/users", idm =>
{
var factory = new IdentityManagerServiceFactory();
factory.IdentityManagerService = new Registration<IIdentityManagerService, ApplicationIdentityManagerService>();
factory.Register(new Registration<ApplicationUserManager>());
factory.Register(new Registration<ApplicationUserStore>());
factory.Register(new Registration<ApplicationRoleManager>());
factory.Register(new Registration<ApplicationRoleStore>());
factory.Register(new Registration<ApplicationDbContext>(resolver => new ApplicationDbContext("dbase")));
factory.Register(new Registration<ApplicationDbContext>());
idm.UseIdentityManager(new IdentityManagerOptions {
Factory = factory
});
});