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。
Module-Zero之租户管理的更多相关文章
- ABP Zero 多租户管理
ABPZero - 多租户管理 启用多租户 ASP.NET Boilerplate和module-zero可以运行多租户或单租户模式.多租户默认为禁用.我们可以在我们的模块PreInitialize方 ...
- 番外篇--Moddule Zero多租户管理
番外篇--Moddule Zero多租户管理 2.1.1 关于多租户 强烈建议阅读这个文件前阅读多租户文档. 2.1.2 启用多租户 ASP.NET Boilerplate和module-zero可以 ...
- 初识ABP vNext(7):vue身份认证管理&租户管理
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 按钮级权限 身份认证管理 R/U权限 权限刷新 租户管理 租户切换 效果 最后 前言 上一篇介绍了vue+ABP国际化 ...
- 吐槽一下Abp的用户和租户管理模块
1. 背景 ASP.NET Core 基于声明的访问控制到底是什么鬼? 聊到基于声明的身份认证将 身份和签发机构分离,应用程序信任签发机构,故认可签发的身份信息. -- --- --- --- Cla ...
- Module Zero之语言管理
返回<Module Zero学习目录> 概览介绍 如何开启 管理语言 管理本地化文本 概览介绍 ABP定义了一个健壮的UI本地化系统,它可用于服务端和客户端.它允许在不同的资源中(Reso ...
- Module Zero之角色管理
返回<Module Zero学习目录> 角色实体 角色管理者 多租户 角色实体 角色实体代表了该应用的一个角色.它应该派生自AbpRole类,如下所示: public class Role ...
- Module Zero之用户管理
返回<Module Zero学习目录> 用户实体 用户管理者 用户认证 用户实体 用户实体代表应用的一个用户,它派生自AbpUser类,如下所示: public class User : ...
- Module Zero之权限管理
返回<Module Zero学习目录> 概览介绍 角色权限 用户权限 概览介绍 Module-Zero实现了ABP授权系统的IPermissionChecker接口.这篇文章中,我们将会看 ...
- Oracle12c多租户管理用户、角色、权限
Oracle 数据库 12 c 多租户选项允许单个容器数据库 (CDB) 来承载多个单独的可插拔数据库 (PDB).那么我们如何在容器数据库 (CDB) 和可插拔数据库 (PDB)管理用户权限.背景: ...
随机推荐
- 关于安装Apache之后,解析PHP的配置
需要配置四个地方 LoadModule php5_module modules/libphp5.soServerName localhost:80DirectoryIndex index.phpAdd ...
- webrtc中APM(AudioProcessing module)的使用
一,实例化和配置 AudioProcessing* apm = AudioProcessing::Create(0); //这里的0指的是channelID,只是一个标注那个通道的表示 apm-> ...
- encodeURIComponent()中文乱码
可能是Tomcat的编码格式问题 应该在8080端口下设置 <Connector port="8080" protocol="HTTP/1.1" co ...
- 从vue1.0到vue2.0遇到的一些问题的记录
1.取消v-el的使用方式,改为refs使用 获取指定的dom元素 html:<div ref="div"></div> js: $refs.div 问题: ...
- 转:MYSQL连接字符串参数解析(解释)
被迫转到MySQL数据库,发现读取数据库时,tinyint类型的值都被转化为boolean了,这样大于1的值都丢失,变成true了.查阅资料MySQL中无Boolean类型,都是存储为tinyint了 ...
- iOS Hit-Test应用
最近又看了遍苹果的官方文档<Event Handling Guide for iOS>,对事件响应链中的hit-test view 又多了些理解,个人觉的官方文档对这块讲的非常简单,很多东 ...
- unity 协程
StartCoroutine在unity3d的帮助中叫做协程,意思就是启动一个辅助的线程. 在C#中直接有Thread这个线程,但是在unity中有些元素是不能操作的.这个时候可以使用协程来完成. 使 ...
- swift-string(字符串的一些语法)
1 isEmpty 返回一个布尔值,确定该字符串是否为空 2 hasPrefix(prefix: String) 函数检查给定的参数字符串是否以 string 为前缀 3 hasSuffix(suff ...
- Debian 8 jessie, OpenSSH ssh connection server responded Algorithm negotiation failed
安装了debian 8.5 就出问题了. root@debian8:~# lsb_release -aNo LSB modules are available.Distributor ID: Debi ...
- 线性分式变换(linear fractional transformation)
线性分式变换(linear fractional transformation)的名称来源于其定义的形式:(ax+b)/(cx+d),其中分子分母是线性的,然后最外层是一个分式形式,所以叫做这个名字, ...