多租户身份验证,ASP.NET 样板模块零中的 IMustHaveTenant 实体

Multi-tenant authentication, IMustHaveTenant entity in ASP.NET Boilerplate Module Zero

多租户身份验证

我以管理员身份从 swagger UI 创建了一个新租户,我可以检查数据 租户与管理员帐户一起成功创建

现在如何以新创建租户的管理员身份登录?

因为我尝试通过 Postman 进行令牌身份验证,在请求正文中指定 tenancyName,它似乎只对来自 default 租户的管理员进行身份验证 - 即使我输入 tenancyName 字段中的垃圾,它不会检测到任何错误或异常。

我查看了CoreModule.cs中的配置值,MultiTenancyEnabled已经设置为true

与租户的实体关系

我还想将我的实体之一与 tenant 实体相关联。因此,我将 class 基于 IMustHaveTenant 界面并沿 FullAuditedEntity 像这样:

public class Rule: FullAuditedEntity, IMustHaveTenant
{
    public string columnA { get; set; }
    public string columnB { get; set; }
    public string columnC { get; set; }
    public int TenantId { get; set; }
}

是否足够,还是我必须在 DbContext 中进一步输入任何代码?

Now how do I login as the admin of the newly created tenant?

对于 Token Based Authentication,在 Abp.TenantId header.

中发送租户 ID

在 Postman 中,单击 Headers,将键添加为 Abp.TenantId,并将值添加为您的租户 ID。如果您刚刚创建了一个新租户,那将是 2,因为有一个 ID 为 1 的默认租户。

Also I would like to relate one of my entity with the tenant entity. [...] Is it enough or do I have to further put in any codes in the DbContext?

您必须在 DbContext 中添加 DbSet:

public class MyDbContext : AbpDbContext
{
    public DbSet<Product> Products { get; set; }

    public MyDbContext(DbContextOptions<MyDbContext> options)
        : base(options)
    {
    }
}