如何在 ASP.NET Core 5 中添加身份服务
How to add Identity Services in ASP.NET Core 5
我正在尝试添加身份服务。
我正在尝试更改用户 table 中的列数。不知道怎么修改。
- 版本 - .NET 5
- Identity nuget 版本 - 5.0.1
当我改变
// IT DOESN'T WORK
services.AddIdentityCore<User>()
.AddEntityFrameworkStores<ApplicationContext>();
到
// this works
services.AddIdentityCore<IdentityUser>()
.AddEntityFrameworkStores<ApplicationContext>();
代码:
// Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentityCore<User>().AddEntityFrameworkStores<ApplicationContext>();
services.AddRazorPages();
}
public class User : IdentityUser
{
public int Year { get; set; }
}
尝试如下更改:
services.AddDefaultIdentity<User>()
.AddEntityFrameworkStores<ApplicationDbContext>();
确保您的 DbContext 如下所示:
public class ApplicationDbContext : IdentityDbContext<User>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
确保更新 _LoginPartial.cshtml
并将 IdentityUser
替换为 User
:
@inject SignInManager<User> SignInManager
@inject UserManager<User> UserManager
终于可以给身份披上围巾了。
我正在尝试添加身份服务。
我正在尝试更改用户 table 中的列数。不知道怎么修改。
- 版本 - .NET 5
- Identity nuget 版本 - 5.0.1
当我改变
// IT DOESN'T WORK
services.AddIdentityCore<User>()
.AddEntityFrameworkStores<ApplicationContext>();
到
// this works
services.AddIdentityCore<IdentityUser>()
.AddEntityFrameworkStores<ApplicationContext>();
代码:
// Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentityCore<User>().AddEntityFrameworkStores<ApplicationContext>();
services.AddRazorPages();
}
public class User : IdentityUser
{
public int Year { get; set; }
}
尝试如下更改:
services.AddDefaultIdentity<User>()
.AddEntityFrameworkStores<ApplicationDbContext>();
确保您的 DbContext 如下所示:
public class ApplicationDbContext : IdentityDbContext<User>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
确保更新 _LoginPartial.cshtml
并将 IdentityUser
替换为 User
:
@inject SignInManager<User> SignInManager
@inject UserManager<User> UserManager
终于可以给身份披上围巾了。