ABP Zero 多租户管理

ABPZero - 多租户管理

启用多租户

ASP.NET Boilerplate和module-zero可以运行多租户或单租户模式。多租户默认为禁用。我们可以在我们的模块PreInitialize方法启用它,使之如下所示:
[DependsOn(typeof(AbpZeroCoreModule))]
public class MyCoreModule : AbpModule
{
    public override void PreInitialize()
    {
        Configuration.MultiTenancy.IsEnabled = true;
    }

...
}
需要注意的是:即使我们的应用程序是不是多租户,我们必须定义一个默认的租户(见本文件的默认租户部分)。
当我们创建一个基于ASP.NET Boilerplate和module-zero的项目模板时,我们有一个租户的实体和TenantManager领域服务。

租户实体

租户实体代表应用程序的一个租户。
public class Tenant : AbpTenant<Tenant, User>
{

}
它源自泛型类AbpTenant。租户实体被存储在数据库的AbpTenants表中。您可以添加自定义属性到租户类。
AbpTenant类定义一些基本的属性,最重要的是:
TenancyName:这是一个租户在应用程序中的唯一名称。它通常不应该被改变。它可用于分配的子域给租户如“mytenant.mydomain.com”。
Tenant.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基类的任何方法针对自己的需要。
默认租户

ASP.NET Boilerplate和module-zero假设有一个预先定义的租户,它的TenancyName是“Default”和Id是1。在一个单租户应用,这被用作为单租户。在一个多租户应用程序,你可以删除它或使其无效。

时间: 2024-11-10 18:25:06

ABP Zero 多租户管理的相关文章

X-Admin&amp;ABP框架开发-设置管理

在网站开发中,设置是不可缺少的一环,如用户设置.系统设置.甚至是租户设置等.ABP对于设置的管理已经做了很好的处理,我们可以借助巨人的力量来完成我们的冒险. ABP官网地址:https://aspnetboilerplate.com/ 一.设置的层级划分 ABP中提供了三种类型的设置,用户级别.应用级别.租户级别,针对于不同级别有着不同的侧重点,比如用户级别,针对于用户的一些设置,如主题设置,接收通知设置等:针对应用级别,该级别也能在用户层级上进行影响,好比如设置统一的主题皮肤,而它主要体现在整

Oracle12C多租户管理用户、角色、权限

在Oracle12C中,用户权限的管理相对传统的 Oracle 单数据库环境稍有不同.在多租户环境中有两种类型的用户. ①:共同用户(Common User): 该用户存在所有容器 (根和所有的 Pdb) 中. ②:本地用户(Local User): 用户只有在特定的 PDB 中存在.同样的用户名中可以存在多个Pdb中创建,但它们之间没有关系. 同样,有两种类型的角色:如 ①:共同角色(Common Role): 该角色在所有容器 (根和所有的 Pdb) 中. ②:本地角色(Local Role

ABP与多租户

ABP简介 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板.ASP.NET Boilerplate 基于DDD的经典分层架构思想,实现了众多DDD的概念(但没有实现所有DDD的概念).ABP不仅架构设计和代码写的好,文档也很全面详实(这是一个开发框架被技术选型的基础).尤其国内的很多热心朋友还整理了中文的资料和文档,比如郭阳铭的系列文章(http://www.cnblogs.com/mienreal

详解ABP框架的多租户

(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:ABP框架对多租户场景提供了很好的支持,内建了多租户的处理机制,今天我们来深入解析一下这一特性. 最近在基于ABP框架(ASP.NET Boilerplate)开发了一个SaaS.所以接下来可能会时不时分享一下ABP方面的文章.今天来介绍一下ABP对多租户提供的支持特性. ABP简介 ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个

分享一个Linux管理文档多租户的例子

例题 同一群组microsoft下的两个账号justmine001和justmine002需要共同拥有目录/microsoft/eshop的开发权,以便进行协同工作,但是其他人不允许进入和查阅该目录. 从例题可以分析出: 同一群组下的账户需要共同拥有目录的使用权,且可以编辑里面的任何文件. 其他账户不拥有该目录的任何权限. 需要使用root账户,创建账户.群组,设置目录权限,然后搭建开发环境. 创建账户相关信息 groupadd microsoft ; 新增群组 useradd -G micro

1.5 多租户

多租户 什么是多租户? 数据库和部署架构 多部署-多数据库 单部署-多数据库 单部署-单数据库 单部署-混合数据库 多部署-单/多/混合数据库 ABP的多租户 启用多租户 租主和租户 会话 决定当前租户 租户仓库 数据过滤器 IMustHaveTenant Interface IMayHaveTenant Interface 附加注意事项 切换租主与租户 什么是多租户? “软件多租户技术指的是一种软件架构,这种架构可以使用软件的单实例运行并为多个租户提供服务.租户是通过软件实例的特定权限共享通用

基于DDD的现代ASP.NET开发框架--ABP系列之1、目录和总体介绍

背景介绍: 有几次在技术交流会和QQ群上我提到ABP项目,几乎没有人知道这个开源项目,张善友.蟋蟀等不少朋友问过我,怎么在中文社区都搜不到ABP这个项目的介绍文章呢? 是呀,这么好的东西,应该让更多人知道.我在博客园写第一篇文章的时候就想介绍它,但因为工作太忙,文字表达效率太低,就一拖再拖.今天在netfocus汤兄的ENode群里聊到ABP项目,有不少朋友还挺感兴趣,所以建了一个QQ群(134710707),供大家以后讨论ABP的架构设计.DDD话题. 去年我们公司在规划一个新的O2O项目时,

ABP dynamic API

打开ABP的事例项目SimpleTaskSystem.WebSpaAngular 中LayoutView <!-- Dynamic scripts of ABP system (They are created on runtime and can not be bundled) --> <!-- 添加对ABP系统运行时动态创建的脚本文件的引用 --> <script src="~/api/AbpServiceProxies/GetAll?type=angular&

【ABP框架系列学习】N层架构(3)

原文:[ABP框架系列学习]N层架构(3) 目录 0.引言 1.DDD分层 2.ABP应用构架模型 客户端应用程序(Client Applications) 表现层(Presentation Layer) 分布式服务层(Distributed Service Layer) 应用层(Application Layer) 领域层 基础设施层 3.使用ABP项目模版快速生成应用程序 0.引言 应用程序的分层是一种广泛接受的技术, 可以降低复杂度和提高代码的可重用性.为了实现分层架构,ABP遵循领域驱动