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)管理用户权限.背景: ...
随机推荐
- linux下安装apache与php;Apache+PHP+MySQL配置攻略
1.apache 在如下页面下载apache的for Linux 的源码包 http://www.apache.org/dist/httpd/; 存至/home/xx目录,xx是自建文件 ...
- Beginning Scala study note(4) Functional Programming in Scala
1. Functional programming treats computation as the evaluation of mathematical and avoids state and ...
- 一个windows下的ddos样本
一个windows下的ddos样本. 加载器 程序运行之后会在临时目录释放出一个256_res.tmp的文件 之后将该文件移动至system32目录下,以rasmedia.dll命名. 删除原文件. ...
- Java EE之servlet处理表单提交的请求
1.在源包下新建一个Servlet页,取名为LoginServlet: package weinidingServlet; //该Servlet所 ...
- SNMP高速扫描器braa
SNMP高速扫描器braa SNMP(Simple Network Monitoring Protocol,简单网络管理协议)是网络设备管理标准协议.为了便于设备管理,现在联入网络的智能设备都支持 ...
- log4j使用--http://www.cnblogs.com/eflylab/archive/2007/01/11/618001.html
package log4jTest.com; import java.io.FileReader; import org.apache.log4j.BasicConfigurator; import ...
- unity3D脚本中,update ,fixupdate 和lateupdate的区别
1.MonoBehaviour.Update 更新 当MonoBehaviour启用时,其Update在每一帧被调用. 2.MonoBehaviour.FixedUpdate 固定更新 当MonoBe ...
- 体育游戏中的Player类
最近在做一个棒球的游戏,开始感觉还是挺酷炫的,但是其实做法挺朴实的,想象中的球员是多么智能,这样那样的,其实只是表象. 关于球员的类是游戏里非常重要的部分,这个玩意怎么写呢,可以这样写...... 棒 ...
- 【BZOJ1857】[Scoi2010]传送带 三分法
三分套三分,挺神奇的...每次找到,每个传送带的上下两个三等分点,下面那个小,则一定有更优的在中间. #include <iostream> #include <cstdio> ...
- javax.mail 发送邮件异常
一.运行过程抛出异常 1.Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/ ...