源码的github的地址
https://github.com/solenovex/ASP.NET-Core-MVC-Tutorial-Code
语雀上的人的地址:
https://github.com/Wonderdch/ASP.NET-Core-MVC-Tutorial-Code
第十五节课的的目录
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net_02

用户的列表管理

新建UserController
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_03
登陆用户才能访问这个Controller下面的所有
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_04
注入UserManager
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_05
返回类型是Iqueryable需要对他进行ToList操作
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_06
改成异步的也需要用Task去接收
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_07
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_08
Action改名字叫Index
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_09
简历User文件夹,然后新建view页面叫做Index.cshtml
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_10
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_11
删除的代码
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_12
添加用户的代码
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_13
这里写错了修正一下
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_14

建立这两个Action。
删除的代码
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_15
添加用户的代码。先新建AddUser的view页面
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_16

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_17
新建这个viewmodel
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net_18
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net_19
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_20
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_21
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_22

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_23
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_24

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_25
点击用户管理,需要先登陆
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_26

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_27

添加用户
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_28
添加成功
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_29
删除也可以用

添加编辑的按钮直接视频没有录
这是最终的效果
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_30
Redirect不需要加上model。如果直接返回的是View才需要返回数据给view页面
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_31

修改密码规则

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_32
这里加参数
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_33

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_34

IdentityUser源码

F12进去
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_35

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_36
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_37

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_38

字段有时候不够用了就,需要加入身份证号之类的,这个时候就需要对Identity进行扩展
新建类,继承IdentityUser
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_39
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net_40
这里改成ApplicationUser就可以了。这个类必须继承自IdentityUser
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_41
然后进行迁移
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_42
迁移的文件里面是空的
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_43
这个ApplicationDbContext和我们的ApplicationUser没有联系上
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_44
F12看一下ApplicationDbContext的源码

ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_45
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_46
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_47
去掉上一个migration
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_48

重新添加migration
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_49
生成的迁移文件就有这两列了
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_50
更新
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_ide_51

小程序没必须再单独弄个UserContext
直接使用业务用的HeavyContext
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net core 2.2_52

这里让他继承IdentityContext就可以。不过既然已经写了就这样吧。
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_添加用户_53
然后把程序所有使用IdentityUser的地方都改成ApplicationUser
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_asp.net_54

页面上需要把身份证号和 出生日期给添加上
ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 15. 用户管理_github_55