在没有实体框架和迁移的 ASP.NET Core MVC 应用程序中使用 ASP.NET Identity

Bla*_*ell 6 c# asp.net entity-framework asp.net-identity asp.net-core

是否可以在没有实体框架和实体框架迁移的情况下使用 ASP.NET Identity?我的应用程序的其余部分将使用 Micro ORM 进行数据访问。但是,该应用程序使用内置的 ASP.NET 标识个人用户帐户。

我的目标是仍然能够使用内置的 UserManager 和 LoginManager 类,并另外检索使用 Micro ORM 的用户列表,并消除与 EF/Migrations 相关的任何事情。这可能吗?似乎并非如此,因为原始数据库结构是通过应用初始迁移创建的。

如果有人有这样做的好技术,请分享。

Chr*_*rdt 8

首先,您需要创建一个自定义用户存储:

public class UserStore : IUserStore<IdentityUser>,
                         IUserClaimStore<IdentityUser>,
                         IUserLoginStore<IdentityUser>,
                         IUserRoleStore<IdentityUser>,
                         IUserPasswordStore<IdentityUser>,
                         IUserSecurityStampStore<IdentityUser>
{
    // interface implementations not shown
}
Run Code Online (Sandbox Code Playgroud)

然后需要将其注册到依赖注入容器中:

// Add identity types
services.AddIdentity<ApplicationUser, ApplicationRole>()
    .AddDefaultTokenProviders();

// Identity Services
services.AddTransient<IUserStore<ApplicationUser>, CustomUserStore>();
services.AddTransient<IRoleStore<ApplicationRole>, CustomRoleStore>();
Run Code Online (Sandbox Code Playgroud)

在此处记录