给我的印象是,只要我对 User 进行任何自定义修改,它就会立即使整个生成的 API 端点变得无用。例如,无法让我添加自己的委托来参与注册过程。因此,除了出于演示目的之外,我真的不明白为什么任何开发人员都想在生产系统中使用此功能。
你应该能做到。
你只需要继承你的自定义用户类,并额外正确地继承到 Indentity User ,然后你应该能够做到这一点。
public class CustomUser: IdentityUser
{
// Put your extra properties here
}
然后创建如下所示的身份上下文
public class ApplicationDbContext : IdentityDbContext<CustomUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext>
options) :
base(options) { }
}
在program.cs文件中执行以下操作
builder.Services.AddDbContext<ApplicationDbContext>(
options => options.UseInMemoryDatabase("AppDb"));
然后在webapplication.create后添加以下内容
builder.Services.AddAuthorization();
然后在builder.build后面添加Activate路由
app.MapIdentityApi<CustomUser>();
然后你就可以使用它了。这里有几个例子。