在Asp.Net Core(2.0和2.2)中,可以使用Entity Framework Core来保存登录和注册用户的位置。下面是一个包含代码示例的解决方法:
ApplicationUser的用户模型类,该类继承自IdentityUser。在该类中,可以添加自定义的属性以满足你的需求。例如,可以添加一个名为FullName的属性:public class ApplicationUser : IdentityUser
{
public string FullName { get; set; }
}
Startup.cs文件中配置Identity。在ConfigureServices方法中,添加以下代码:services.AddDbContext(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity()
.AddEntityFrameworkStores()
.AddDefaultTokenProviders();
services.Configure(options =>
{
// 配置密码要求
options.Password.RequireDigit = true;
options.Password.RequireLowercase = true;
options.Password.RequireUppercase = true;
options.Password.RequireNonAlphanumeric = true;
options.Password.RequiredLength = 8;
// 配置锁定用户选项
options.Lockout.DefaultLockoutTimeSpan = TimeSpan.FromMinutes(30);
options.Lockout.MaxFailedAccessAttempts = 5;
options.Lockout.AllowedForNewUsers = true;
// 配置用户登录选项
options.User.RequireUniqueEmail = true;
});
Configure方法中,添加以下代码以启用Identity:app.UseAuthentication();
appsettings.json文件中添加一个名为DefaultConnection的数据库连接字符串,用于连接到本地数据库。例如:"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=YourDatabaseName;Trusted_Connection=True;MultipleActiveResultSets=true"
}
ApplicationDbContext的数据库上下文类,该类继承自IdentityDbContext。在该类中,添加一个名为Users的DbSet属性:public class ApplicationDbContext : IdentityDbContext
{
public ApplicationDbContext(DbContextOptions options)
: base(options)
{
}
public DbSet Users { get; set; }
}
dotnet ef migrations add InitialCreate
dotnet ef database update
现在,你可以使用ApplicationDbContext中的Users属性来访问保存的登录和注册用户。例如,你可以使用以下代码检索所有用户:
using (var context = new ApplicationDbContext())
{
var users = context.Users.ToList();
// 处理用户列表
}
希望这可以帮助你实现在Asp.Net Core(2.0和2.2)中保存登录和注册用户的功能。