尝试创建一个简单的 MVC 应用程序,该应用程序具有基本的用户帐户管理和社交帐户注册。
创建具有个人身份验证的 ASP.NET Core 2.2 应用程序,通过 NuGet(sqlserver 和工具)添加 EF 核心。我之前已经构建了一些基本的 ASP.NET MVC 应用程序和其他语言的 MVC 应用程序。
我让 Facebook 登录按照本教程工作。
现在我迷路了。
有一个“数据”目录,里面已经有一堆代码,还有普通的 MVC 目录。但是,我没有看到与我在启动应用程序时可以清楚地访问的帐户管理相关的任何页面或操作相关的 MVC 文件,包括/Identity/Account/Login
、/Identity/Account/Manage
、/Identity/Account/Manage/SetPassword
等。
虽然在几分钟内启动并运行所有这些功能很酷,但我已经处于不知道它如何工作或为什么工作的劣势。搜索任何我希望对此有所了解的东西都会给我提供技术文档,让我头晕目眩并提供零启示。
我想要一个与每个用户相关联的数据集(“书籍”)的集合。一个用户对多本书。鉴于用户(帐户?)模型不在 MVC 应用程序的 Models 目录中,我认为不应在此处添加它。如果是,我不知道如何创建与用户的关联。
这就是我在一个名为ApplicationDbContextModelSnapshot.cs
namespace Bookshelf.Data.Migrations
[DbContext(typeof(ApplicationDbContext))]
partial class ApplicationDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(ModelBuilder modelBuilder)
{
...
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property<string>("Id")
.ValueGeneratedOnAdd();
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken();
b.Property<string>("Name")
.HasMaxLength(256);
b.Property<string>("NormalizedName")
.HasMaxLength(256);
b.HasKey("Id");
b.HasIndex("NormalizedName")
.IsUnique()
.HasName("RoleNameIndex")
.HasFilter("[NormalizedName] IS NOT NULL");
b.ToTable("AspNetRoles");
});
...等等,看起来相当可读,但与我迄今为止看到的任何教程都不匹配。
TL;博士:
我在哪里/如何正确创建新模型?在 Models 目录中是这样的(我习惯了)还是已经过时了?
无论哪种方式,在给定 ASP.NET Core 2.2 的内置用户帐户管理的情况下,如何正确地将数据与用户关联?
慕容森
相关分类