为了账号安全,请及时绑定邮箱和手机立即绑定

自定义 IdentityUser from dotnet new webapp

自定义 IdentityUser from dotnet new webapp

C#
四季花海 2022-09-04 16:37:52
我正在学习C#和dotnet核心,我目前正在研究模板    dotnet new webapp --auth Individual -o WebApp1但是,它在幕后为我做了很多我不明白的事情。我正在翻阅代码,以找到如何创建和处理登录视图,但没有这样的运气。目前,我正在尝试向此模板中给出的数据库添加一列,如下所示:services.AddDbContext<ApplicationDbContext>(options =>             options.UseSqlite(                 Configuration.GetConnectionString("DefaultConnection")));         services.AddDefaultIdentity<IdentityUser>()             .AddEntityFrameworkStores<ApplicationDbContext>();
查看完整描述

2 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

dotnet 核心团队决定在 Razor 库中抽象出用于身份验证的默认 UI,查找依赖项 -> SDK -> Microsoft.AspNetCore.App -> Microsoft.AspNetCore.Identity.UI


在此处查看此包的代码


这应该可以让您了解背景中实际发生的事情。


至于扩展用户模型


public class CustomUser : IdentityUser

{

     //custom properties

}

然后,您希望配置标识中间件,以将其识别为用户的主要模型。


services.AddDefaultIdentity<CustomUser>();

不要忘记更新数据库继承,以便创建正确的表。


public class ApplicationDbContext : IdentityDbContext<CustomUser> 

{

    ...

}


查看完整回答
反对 回复 2022-09-04
?
炎炎设计

TA贡献1808条经验 获得超4个赞

IdentityUser是 Identity 的基本“user”类,因此它填充了它,因此您不需要额外的工作。如果您不想自定义用户,那很好,但是由于您显然这样做了,因此只需创建自己的类,该类派生自:IdentityUser


public class MyUser : IdentityUser

{

    public string Foo { get; set; }

}

然后,使用自定义用户类作为类型参数来代替 :IdentityUser


services.AddDefaultIdentity<MyUser>()


查看完整回答
反对 回复 2022-09-04
  • 2 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信