如果我无法自定义 ASP.NET Core Identity 的 API 端点,它的实际用途是什么?

问题描述 投票:0回答:1

给我的印象是,只要我对 User 进行任何自定义修改,它就会立即使整个生成的 API 端点变得无用。例如,无法让我添加自己的委托来参与注册过程。因此,除了出于演示目的之外,我真的不明白为什么任何开发人员都想在生产系统中使用此功能。

asp.net-core asp.net-identity
1个回答
0
投票

你应该能做到。

你只需要继承你的自定义用户类,并额外正确地继承到 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>();

然后你就可以使用它了。这里有几个例子。

https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity-api-authorization?view=aspnetcore-8.0

https://code-maze.com/aspdotnet-extending-identityuser/

© www.soinside.com 2019 - 2024. All rights reserved.