要在ASP.NET Core中使用外部提供程序但保留默认身份数据库,您可以按照以下步骤操作:
Startup.cs
文件的ConfigureServices
方法中,添加以下代码:services.AddDefaultIdentity(options =>
{
options.SignIn.RequireConfirmedAccount = true;
})
.AddEntityFrameworkStores();
Microsoft.AspNetCore.Identity.EntityFrameworkCore
Microsoft.EntityFrameworkCore.SqlServer
ApplicationDbContext
类,该类将继承自IdentityDbContext
。在ApplicationDbContext.cs
文件中,添加以下代码:using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions options)
: base(options)
{
}
}
appsettings.json
文件,将数据库连接字符串配置为您要使用的外部提供程序。例如,如果您要使用SQL Server数据库,可以添加以下配置:"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=YourDatabaseName;Trusted_Connection=True;MultipleActiveResultSets=true"
}
Startup.cs
文件的ConfigureServices
方法中,添加以下代码,以便将ApplicationDbContext
与外部提供程序关联起来:services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
这样,您就可以在ASP.NET Core中使用外部提供程序并保留默认的身份数据库。在这种情况下,您仍然可以使用IdentityUser
类和默认的身份验证功能,但是使用您配置的外部数据库进行存储。