我正在学习C#和dotnet核心,我目前正在研究模板
dotnet new webapp --auth Individual -o WebApp1
但是,在我不了解的幕后,它为我做了很多事情。
我正在遍历代码以查找如何创建和处理登录视图,但是还没有运气。 目前,我正在尝试向此模板中指定的数据库添加一列,如下所示:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>()
.AddEntityFrameworkStores<ApplicationDbContext>();
答案 0 :(得分:0)
IdentityUser
是Identity的基本“用户”类,因此它被填充了,因此您不需要额外的工作。如果您不想自定义用户,那很好,但是既然您显然可以自定义,那么只需创建自己的类,该类派生自IdentityUser
:
public class MyUser : IdentityUser
{
public string Foo { get; set; }
}
然后,将您的自定义用户类用作IdentityUser
的类型参数:
services.AddDefaultIdentity<MyUser>()
答案 1 :(得分:0)
dotnet核心团队决定在Razor库中抽象其默认UI以进行身份验证,寻找依赖关系-> SDK-> Microsoft.AspNetCore.App-> Microsoft.AspNetCore.Identity.UI
查看此软件包here的代码
这应该使您了解背景实际发生了什么。
关于扩展用户模型
public class CustomUser : IdentityUser
{
//custom properties
}
然后,您要配置身份中间件以将其识别为用户的主要模型。
services.AddDefaultIdentity<CustomUser>();
别忘了更新数据库继承,以便创建正确的表。
public class ApplicationDbContext : IdentityDbContext<CustomUser>
{
...
}