Add ASP.NET Identity.

This commit is contained in:
2019-11-07 00:25:43 +00:00
parent 84415fcf05
commit 63d04a6e97
26 changed files with 5978 additions and 13 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,148 @@
using System;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Migrations;
namespace DiscImageChef.Server.Migrations
{
public partial class CreateIdentitySchema : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable("AspNetRoles", table => new
{
Id = table.Column<string>(), Name = table.Column<string>(maxLength: 256, nullable: true),
NormalizedName = table.Column<string>(maxLength: 256, nullable: true),
ConcurrencyStamp = table.Column<string>(nullable: true)
}, constraints: table =>
{
table.PrimaryKey("PK_AspNetRoles", x => x.Id);
});
migrationBuilder.CreateTable("AspNetUsers", table => new
{
Id = table.Column<string>(),
UserName = table.Column<string>(maxLength: 256, nullable: true),
NormalizedUserName = table.Column<string>(maxLength: 256, nullable: true),
Email = table.Column<string>(maxLength: 256, nullable: true),
NormalizedEmail = table.Column<string>(maxLength: 256, nullable: true),
EmailConfirmed = table.Column<bool>(), PasswordHash = table.Column<string>(nullable: true),
SecurityStamp = table.Column<string>(nullable: true),
ConcurrencyStamp = table.Column<string>(nullable: true),
PhoneNumber = table.Column<string>(nullable: true), PhoneNumberConfirmed = table.Column<bool>(),
TwoFactorEnabled = table.Column<bool>(),
LockoutEnd = table.Column<DateTimeOffset>(nullable: true),
LockoutEnabled = table.Column<bool>(), AccessFailedCount = table.Column<int>()
}, constraints: table =>
{
table.PrimaryKey("PK_AspNetUsers", x => x.Id);
});
migrationBuilder.CreateTable("AspNetRoleClaims", table => new
{
Id = table.Column<int>().
Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
RoleId = table.Column<string>(), ClaimType = table.Column<string>(nullable: true),
ClaimValue = table.Column<string>(nullable: true)
}, constraints: table =>
{
table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
table.ForeignKey("FK_AspNetRoleClaims_AspNetRoles_RoleId", x => x.RoleId, "AspNetRoles", "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable("AspNetUserClaims", table => new
{
Id = table.Column<int>().
Annotation("MySql:ValueGenerationStrategy", MySqlValueGenerationStrategy.IdentityColumn),
UserId = table.Column<string>(), ClaimType = table.Column<string>(nullable: true),
ClaimValue = table.Column<string>(nullable: true)
}, constraints: table =>
{
table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
table.ForeignKey("FK_AspNetUserClaims_AspNetUsers_UserId", x => x.UserId, "AspNetUsers", "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable("AspNetUserLogins", table => new
{
LoginProvider = table.Column<string>(maxLength: 128),
ProviderKey = table.Column<string>(maxLength: 128),
ProviderDisplayName = table.Column<string>(nullable: true), UserId = table.Column<string>()
}, constraints: table =>
{
table.PrimaryKey("PK_AspNetUserLogins", x => new
{
x.LoginProvider, x.ProviderKey
});
table.ForeignKey("FK_AspNetUserLogins_AspNetUsers_UserId", x => x.UserId, "AspNetUsers", "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable("AspNetUserRoles", table => new
{
UserId = table.Column<string>(), RoleId = table.Column<string>()
}, constraints: table =>
{
table.PrimaryKey("PK_AspNetUserRoles", x => new
{
x.UserId, x.RoleId
});
table.ForeignKey("FK_AspNetUserRoles_AspNetRoles_RoleId", x => x.RoleId, "AspNetRoles", "Id",
onDelete: ReferentialAction.Cascade);
table.ForeignKey("FK_AspNetUserRoles_AspNetUsers_UserId", x => x.UserId, "AspNetUsers", "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable("AspNetUserTokens", table => new
{
UserId = table.Column<string>(), LoginProvider = table.Column<string>(maxLength: 128),
Name = table.Column<string>(maxLength: 128), Value = table.Column<string>(nullable: true)
}, constraints: table =>
{
table.PrimaryKey("PK_AspNetUserTokens", x => new
{
x.UserId, x.LoginProvider, x.Name
});
table.ForeignKey("FK_AspNetUserTokens_AspNetUsers_UserId", x => x.UserId, "AspNetUsers", "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex("IX_AspNetRoleClaims_RoleId", "AspNetRoleClaims", "RoleId");
migrationBuilder.CreateIndex("RoleNameIndex", "AspNetRoles", "NormalizedName", unique: true);
migrationBuilder.CreateIndex("IX_AspNetUserClaims_UserId", "AspNetUserClaims", "UserId");
migrationBuilder.CreateIndex("IX_AspNetUserLogins_UserId", "AspNetUserLogins", "UserId");
migrationBuilder.CreateIndex("IX_AspNetUserRoles_RoleId", "AspNetUserRoles", "RoleId");
migrationBuilder.CreateIndex("EmailIndex", "AspNetUsers", "NormalizedEmail");
migrationBuilder.CreateIndex("UserNameIndex", "AspNetUsers", "NormalizedUserName", unique: true);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable("AspNetRoleClaims");
migrationBuilder.DropTable("AspNetUserClaims");
migrationBuilder.DropTable("AspNetUserLogins");
migrationBuilder.DropTable("AspNetUserRoles");
migrationBuilder.DropTable("AspNetUserTokens");
migrationBuilder.DropTable("AspNetRoles");
migrationBuilder.DropTable("AspNetUsers");
}
}
}

View File

@@ -1281,6 +1281,143 @@ namespace DiscImageChef.Server.Migrations
b.ToTable("Versions");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
{
b.Property<string>("Id").HasColumnType("varchar(255)");
b.Property<string>("ConcurrencyStamp").IsConcurrencyToken().HasColumnType("longtext");
b.Property<string>("Name").HasColumnType("varchar(256)").HasMaxLength(256);
b.Property<string>("NormalizedName").HasColumnType("varchar(256)").HasMaxLength(256);
b.HasKey("Id");
b.HasIndex("NormalizedName").IsUnique().HasName("RoleNameIndex");
b.ToTable("AspNetRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("int");
b.Property<string>("ClaimType").HasColumnType("longtext");
b.Property<string>("ClaimValue").HasColumnType("longtext");
b.Property<string>("RoleId").IsRequired().HasColumnType("varchar(255)");
b.HasKey("Id");
b.HasIndex("RoleId");
b.ToTable("AspNetRoleClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b =>
{
b.Property<string>("Id").HasColumnType("varchar(255)");
b.Property<int>("AccessFailedCount").HasColumnType("int");
b.Property<string>("ConcurrencyStamp").IsConcurrencyToken().HasColumnType("longtext");
b.Property<string>("Email").HasColumnType("varchar(256)").HasMaxLength(256);
b.Property<bool>("EmailConfirmed").HasColumnType("bit");
b.Property<bool>("LockoutEnabled").HasColumnType("bit");
b.Property<DateTimeOffset?>("LockoutEnd").HasColumnType("datetime(6)");
b.Property<string>("NormalizedEmail").HasColumnType("varchar(256)").HasMaxLength(256);
b.Property<string>("NormalizedUserName").HasColumnType("varchar(256)").HasMaxLength(256);
b.Property<string>("PasswordHash").HasColumnType("longtext");
b.Property<string>("PhoneNumber").HasColumnType("longtext");
b.Property<bool>("PhoneNumberConfirmed").HasColumnType("bit");
b.Property<string>("SecurityStamp").HasColumnType("longtext");
b.Property<bool>("TwoFactorEnabled").HasColumnType("bit");
b.Property<string>("UserName").HasColumnType("varchar(256)").HasMaxLength(256);
b.HasKey("Id");
b.HasIndex("NormalizedEmail").HasName("EmailIndex");
b.HasIndex("NormalizedUserName").IsUnique().HasName("UserNameIndex");
b.ToTable("AspNetUsers");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.Property<int>("Id").ValueGeneratedOnAdd().HasColumnType("int");
b.Property<string>("ClaimType").HasColumnType("longtext");
b.Property<string>("ClaimValue").HasColumnType("longtext");
b.Property<string>("UserId").IsRequired().HasColumnType("varchar(255)");
b.HasKey("Id");
b.HasIndex("UserId");
b.ToTable("AspNetUserClaims");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.Property<string>("LoginProvider").HasColumnType("varchar(128)").HasMaxLength(128);
b.Property<string>("ProviderKey").HasColumnType("varchar(128)").HasMaxLength(128);
b.Property<string>("ProviderDisplayName").HasColumnType("longtext");
b.Property<string>("UserId").IsRequired().HasColumnType("varchar(255)");
b.HasKey("LoginProvider", "ProviderKey");
b.HasIndex("UserId");
b.ToTable("AspNetUserLogins");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.Property<string>("UserId").HasColumnType("varchar(255)");
b.Property<string>("RoleId").HasColumnType("varchar(255)");
b.HasKey("UserId", "RoleId");
b.HasIndex("RoleId");
b.ToTable("AspNetUserRoles");
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.Property<string>("UserId").HasColumnType("varchar(255)");
b.Property<string>("LoginProvider").HasColumnType("varchar(128)").HasMaxLength(128);
b.Property<string>("Name").HasColumnType("varchar(128)").HasMaxLength(128);
b.Property<string>("Value").HasColumnType("longtext");
b.HasKey("UserId", "LoginProvider", "Name");
b.ToTable("AspNetUserTokens");
});
modelBuilder.Entity("DiscImageChef.CommonTypes.Metadata.Ata", b =>
{
b.HasOne("DiscImageChef.CommonTypes.Metadata.TestedMedia", "ReadCapabilities").WithMany().
@@ -1424,6 +1561,39 @@ namespace DiscImageChef.Server.Migrations
b.HasOne("DiscImageChef.Server.Models.UsbVendor", "Vendor").WithMany("Products").
HasForeignKey("VendorId").OnDelete(DeleteBehavior.Cascade).IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null).WithMany().HasForeignKey("RoleId").
OnDelete(DeleteBehavior.Cascade).IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null).WithMany().HasForeignKey("UserId").
OnDelete(DeleteBehavior.Cascade).IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null).WithMany().HasForeignKey("UserId").
OnDelete(DeleteBehavior.Cascade).IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null).WithMany().HasForeignKey("RoleId").
OnDelete(DeleteBehavior.Cascade).IsRequired();
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null).WithMany().HasForeignKey("UserId").
OnDelete(DeleteBehavior.Cascade).IsRequired();
});
modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
{
b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null).WithMany().HasForeignKey("UserId").
OnDelete(DeleteBehavior.Cascade).IsRequired();
});
#pragma warning restore 612, 618
}
}