【ASP.NET Core快速入门】(十三)Individual authentication 模板、EF Core Migration
2018-01-05 13:46
941 查看
Individual authentication 模板
我们首先用VSCode新建一个mvc的网站,这个网站创立的时候回自动为我们创建Identuty Core以及EF Core的代码示例,我们可以用命令 dotnet new mvc --help 来查看一些参数:由于我们创建mvc项目是默认不带Identity验证的,所以我们要加上下面的 -au|--auth 参数来使用Individual创建带Identity验证的网站
IF OBJECT_ID(N'__EFMigrationsHistory') IS NULL BEGIN CREATE TABLE [__EFMigrationsHistory] ( [MigrationId] nvarchar(150) NOT NULL, [ProductVersion] nvarchar(32) NOT NULL, CONSTRAINT [PK___EFMigrationsHistory] PRIMARY KEY ([MigrationId]) ); END; GO CREATE TABLE [AspNetRoles] ( [Id] nvarchar(450) NOT NULL, [ConcurrencyStamp] nvarchar(max) NULL, [Name] nvarchar(256) NULL, [NormalizedName] nvarchar(256) NULL, CONSTRAINT [PK_AspNetRoles] PRIMARY KEY ([Id]) ); GO CREATE TABLE [AspNetUserTokens] ( [UserId] nvarchar(450) NOT NULL, [LoginProvider] nvarchar(450) NOT NULL, [Name] nvarchar(450) NOT NULL, [Value] nvarchar(max) NULL, CONSTRAINT [PK_AspNetUserTokens] PRIMARY KEY ([UserId], [LoginProvider], [Name]) ); GO CREATE TABLE [AspNetUsers] ( [Id] nvarchar(450) NOT NULL, [AccessFailedCount] int NOT NULL, [ConcurrencyStamp] nvarchar(max) NULL, [Email] nvarchar(256) NULL, [EmailConfirmed] bit NOT NULL, [LockoutEnabled] bit NOT NULL, [LockoutEnd] datetimeoffset NULL, [NormalizedEmail] nvarchar(256) NULL, [NormalizedUserName] nvarchar(256) NULL, [PasswordHash] nvarchar(max) NULL, [PhoneNumber] nvarchar(max) NULL, [PhoneNumberConfirmed] bit NOT NULL, [SecurityStamp] nvarchar(max) NULL, [TwoFactorEnabled] bit NOT NULL, [UserName] nvarchar(256) NULL, CONSTRAINT [PK_AspNetUsers] PRIMARY KEY ([Id]) ); GO CREATE TABLE [AspNetRoleClaims] ( [Id] int NOT NULL IDENTITY, [ClaimType] nvarchar(max) NULL, [ClaimValue] nvarchar(max) NULL, [RoleId] nvarchar(450) NOT NULL, CONSTRAINT [PK_AspNetRoleClaims] PRIMARY KEY ([Id]), CONSTRAINT [FK_AspNetRoleClaims_AspNetRoles_RoleId] FOREIGN KEY ([RoleId]) REFERENCES [AspNetRoles] ([Id]) ON DELETE CASCADE ); GO CREATE TABLE [AspNetUserClaims] ( [Id] int NOT NULL IDENTITY, [ClaimType] nvarchar(max) NULL, [ClaimValue] nvarchar(max) NULL, [UserId] nvarchar(450) NOT NULL, CONSTRAINT [PK_AspNetUserClaims] PRIMARY KEY ([Id]), CONSTRAINT [FK_AspNetUserClaims_AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [AspNetUsers] ([Id]) ON DELETE CASCADE ); GO CREATE TABLE [AspNetUserLogins] ( [LoginProvider] nvarchar(450) NOT NULL, [ProviderKey] nvarchar(450) NOT NULL, [ProviderDisplayName] nvarchar(max) NULL, [UserId] nvarchar(450) NOT NULL, CONSTRAINT [PK_AspNetUserLogins] PRIMARY KEY ([LoginProvider], [ProviderKey]), CONSTRAINT [FK_AspNetUserLogins_AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [AspNetUsers] ([Id]) ON DELETE CASCADE ); GO CREATE TABLE [AspNetUserRoles] ( [UserId] nvarchar(450) NOT NULL, [RoleId] nvarchar(450) NOT NULL, CONSTRAINT [PK_AspNetUserRoles] PRIMARY KEY ([UserId], [RoleId]), CONSTRAINT [FK_AspNetUserRoles_AspNetRoles_RoleId] FOREIGN KEY ([RoleId]) REFERENCES [AspNetRoles] ([Id]) ON DELETE CASCADE, CONSTRAINT [FK_AspNetUserRoles_AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [AspNetUsers] ([Id]) ON DELETE CASCADE ); GO CREATE INDEX [RoleNameIndex] ON [AspNetRoles] ([NormalizedName]); GO CREATE INDEX [IX_AspNetRoleClaims_RoleId] ON [AspNetRoleClaims] ([RoleId]); GO CREATE INDEX [IX_AspNetUserClaims_UserId] ON [AspNetUserClaims] ([UserId]); GO CREATE INDEX [IX_AspNetUserLogins_UserId] ON [AspNetUserLogins] ([UserId]); GO CREATE INDEX [IX_AspNetUserRoles_RoleId] ON [AspNetUserRoles] ([RoleId]); GO CREATE INDEX [IX_AspNetUserRoles_UserId] ON [AspNetUserRoles] ([UserId]); GO CREATE INDEX [EmailIndex] ON [AspNetUsers] ([NormalizedEmail]); GO CREATE UNIQUE INDEX [UserNameIndex] ON [AspNetUsers] ([NormalizedUserName]); GO INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion]) VALUES (N'00000000000000_CreateIdentitySchema', N'2.0.0-rtm-26452'); GO DROP INDEX [UserNameIndex] ON [AspNetUsers]; GO DROP INDEX [IX_AspNetUserRoles_UserId] ON [AspNetUserRoles]; GO DROP INDEX [RoleNameIndex] ON [AspNetRoles]; GO ALTER TABLE [AspNetUsers] ADD [NewColumn] nvarchar(max) NULL; GO CREATE UNIQUE INDEX [UserNameIndex] ON [AspNetUsers] ([NormalizedUserName]) WHERE [NormalizedUserName] IS NOT NULL; GO CREATE UNIQUE INDEX [RoleNameIndex] ON [AspNetRoles] ([NormalizedName]) WHERE [NormalizedName] IS NOT NULL; GO ALTER TABLE [AspNetUserTokens] ADD CONSTRAINT [FK_AspNetUserTokens_AspNetUsers_UserId] FOREIGN KEY ([UserId]) REFERENCES [AspNetUsers] ([Id]) ON DELETE CASCADE; GO INSERT INTO [__EFMigrationsHistory] ([MigrationId], [ProductVersion]) VALUES (N'20180105034732_AddNewColumn', N'2.0.0-rtm-26452'); GO
View Code
相关文章推荐
- 菜鸟入门【ASP.NET Core】13:Individual authentication 模板、EF Core Migration
- 【ASP.NET Core快速入门】(十四)MVC开发:UI、 EF + Identity实现、注册实现、登陆实现
- 【ASP.NET Core快速入门】(十六)MVC开发:DbContextSeed初始化
- ASP.NET Core 快速入门(实战篇)
- ASP.NET Core 快速入门(实战篇)
- 【ASP.NET Core快速入门】(十)Cookie-based认证实现
- 【.NET Core】ASP.NET Core之IdentityServer4(1):快速入门
- 【ASP.NET Core快速入门】(六)配置的热更新、配置的框架设计
- 【ASP.NET Core快速入门】(一)环境安装
- IdentityServer4 中文文档 -14- (快速入门)使用 ASP.NET Core Identity
- 【ASP.NET Core快速入门】(三)准备CentOS和Nginx环境
- 【ASP.NET Core快速入门】(七)WebHost的配置、 IHostEnvironment和 IApplicationLifetime介绍、dotnet watch run 和attach到进程调试
- 【ASP.NET Core快速入门】(十一)应用Jwtbearer Authentication、生成jwt token
- 【ASP.NET Core快速入门】(五)命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options
- 菜鸟入门【ASP.NET Core】14:MVC开发:UI、 EF + Identity实现、注册实现、登陆实现
- 【ASP.NET Core快速入门】(二)部署到IIS
- Asp.net Core + EF Core + Bootstrap搭建的MVC后台通用管理系统模板(跨平台版本)
- 【ASP.NET Core快速入门】(十五)MVC开发:ReturnUrl实现、Model后端验证 、Model前端验证
- 【ASP.NET Core快速入门】(四)在CentOS上安装.NET Core运行时、部署到CentOS
- ASP.NET Core 快速入门(环境篇)