我在ASP.NET Core 3.1中有一个项目,我想为我的应用程序实现Identity。我在EF Core中找到了很多示例,但是我使用的是LinqConnect(Devart)而不是EF Core和数据库-SQL Server。 我想知道如何以一种简单的方式为我的项目实现身份。
答案 0 :(得分:3)
基本上,您要做的就是创建自定义用户存储。
public class CustomUserStore : IUserStore<IdentityUser>,
IUserClaimStore<IdentityUser>,
IUserLoginStore<IdentityUser>,
IUserRoleStore<IdentityUser>,
IUserPasswordStore<IdentityUser>,
IUserSecurityStampStore<IdentityUser>
{
// interface implementations not shown
}
然后注入它:
public void ConfigureServices(IServiceCollection services)
{
// Add identity types
services.AddIdentity<ApplicationUser, ApplicationRole>()
.AddDefaultTokenProviders();
// Identity Services
services.AddTransient<IUserStore<ApplicationUser>, CustomUserStore>();
string connectionString = Configuration.GetConnectionString("DefaultConnection");
services.AddTransient<SqlConnection>(e => new SqlConnection(connectionString));
services.AddTransient<DapperUsersTable>();
// additional configuration
}