Module-Zero之租户管理

简介:

开启多租户

ABP和Module-Zero可以运行多租户或单租户模式。多租户默认是禁用的。我们可以在module类中的PreInitialize方法中开启它,如下所示:

[DependsOn(typeof(AbpZeroCoreModule))]
public class MyCoreModule : AbpModule
{
    public override void PreInitialize()
    {
        Configuration.MultiTenancy.IsEnabled = true;
    }

    ...
}

要注意的是:即使我们的应用不是多租户,我们也必须定义一个默认的租户。
当我们基于ABP和Module-Zero创建了一个项目模板之后,我们就得到了Tenant实体和TenantManager领域服务。

租户实体

Tenant实体代表该应用的一个租户。

public class Tenant : AbpTenant<Tenant, User>
{

}

Tenant实体派生自泛型的AbpTenant类。Tenant实体存储在数据库中的AbpTenants表中。你可以将自定义的属性添加到Tenant类中。

AbpTenant类定义了一些基本的属性,最重要的有这么几个:

  • TenancyName:这是一个租户在应用中唯一的名字。正常情况下,不应该改变。可以使用它来分配一些租户的子领域,如‘mytenant.mydomain.com’。TenancyNameRegex常量定义了该命名规则。
  • Name:该租户的一个随意的,人类可读的长名字。
  • IsActive:如果该租户可以使用该应用,此值为true。如果此值为false,那么禁止该租户的用户登录系统。
    AbpTenant类继承自FullAuditedEntity。这意味着它有创建,修改以及删除审计属性。同时,它还是软删除的,即当我们删除一个租户时,它并没有从数据库中删除,而是仅仅标记为已删除的状态。

最后,AbpTenant的Id定义为Int类型。

租户管理者

租户管理者是执行租户领域逻辑的服务:

public class TenantManager : AbpTenantManager<Tenant, Role, User>
{
    public TenantManager(IRepository<Tenant> tenantRepository)
        : base(tenantRepository)
    {

    }
}

租户管理者也用于管理租户特征。你可以在这里添加你自己的方法。你也可以重写AbpTenantManager基类中的任何方法类满足自己的需求。

默认租户

ABP和Module-Zero假设存在一个预定义的租户,它的租户名是“Default”,且Id是1。在一个单租户的应用中,它被用作单独的租户。在一个多租户的应用中,你可以删除它或者标记为无效的,即IsActive字段置为false。





本文转自tkbSimplest博客园博客,原文链接:http://www.cnblogs.com/farb/p/TenantManagement.html,如需转载请自行联系原作者

目录
相关文章
|
5月前
|
前端开发
平台设计-moduleID的使用
整个平台上有很多相同的功能
|
12月前
|
存储 Go 开发工具
GOPATH 模式怎么迁移至 Modules 模式?
GOPATH 模式怎么迁移至 Modules 模式?
74 0
|
前端开发 JavaScript 计算机视觉
Module Federation最佳实践
Module Federation[1]官方称为模块联邦,模块联邦是webpack5支持的一个最新特性,多个独立构建的应用,可以组成一个应用,这些独立的应用不存在依赖关系,可以独立部署,官方称为微前端。
597 0
Module Federation最佳实践
|
存储 运维
ES集群规划
ES集群规划
135 0
为什么电商云产品需要 Assisted Service Module (ASM) 模块的支持
为什么电商云产品需要 Assisted Service Module (ASM) 模块的支持
80 0
为什么电商云产品需要 Assisted Service Module (ASM) 模块的支持
|
存储 机器学习/深度学习 监控
ES节点角色详解
ES节点角色详解
824 0
|
开发框架 .NET 数据安全/隐私保护
吐槽一下Abp的用户和租户管理模块
我们既可以使用 Abp框架其他能力,利用new关键词我们也刻意隐藏了框架原有的ICurrentUser属性
吐槽一下Abp的用户和租户管理模块
|
缓存 前端开发 数据格式
Hooks + TS 搭建一个任务管理系统(七)-- 任务组页面实现
Hooks + TS 搭建一个任务管理系统(七)-- 任务组页面实现
185 0
Hooks + TS 搭建一个任务管理系统(七)-- 任务组页面实现
|
数据安全/隐私保护