添加ASP.NET Core Identity服务
1、添加包(选择对应版本)
Microsoft.AspNetCore.Identity.EntityFrameworkCore
2、将AppDbContext继承改为IdentityDbContext(IdentityDbContext继承与DbContext)
3、Startup.cs文件中,ConfigureServices注册服务
services.AddIdentity<IdentityUser, IdentityRole>().AddEntityFrameworkStores<AppDbContext>();
4、Configure中添加中间件
app.UseAuthentication();
注意:顺序不能乱,必须在Routing之前,因为身份验证需要在进入mvc终端前就要进行
5、AppContext中重写OnModelCreating()方法
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Student.Models
{
public class StudentDbContext:IdentityDbContext
{
public StudentDbContext(DbContextOptions<StudentDbContext>options):base(options)
{
}
public DbSet<Student> Student { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//这里是添加种子文件
modelBuilder.Seed();
//因为已经重写了OnModelCreating,但Identity还需要调用基类的OnModelCreating(),所以需要使用base进行基类调用
base.OnModelCreating(modelBuilder);
}
}
}