abp dapper mysql_Abp Zero – 功能 – 组织单位管理 - ABP 中文文档

## 2.4 ABPZero – 组织单位管理2.4.1 简介组织单位(OU)用于给组用户和实体分层2.4.2 组织单位实体一个OU由组织单位实体来展现。该实体基本的属性如下:TenantId:OU的租户Id,host的组织单位的TenantId可以为空。ParentId:父OU的Id,根OU的ParentId可以为空。Code:租户下唯一的层级字符串。DisplayName:OU的显示名称。组...
摘要由CSDN通过智能技术生成

## 2.4 ABPZero – 组织单位管理

2.4.1 简介

组织单位(OU)用于给组用户和实体分层

2.4.2 组织单位实体

一个OU由组织单位实体来展现。该实体基本的属性如下:

TenantId:OU的租户Id,host的组织单位的TenantId可以为空。

ParentId:父OU的Id,根OU的ParentId可以为空。

Code:租户下唯一的层级字符串。

DisplayName:OU的显示名称。

组织单位实体的主键(Id)是长整型,该实体从FullAuditedEntity继承,FullAuditedEntity提供了审计信息并实现了软删除接口。

1. 组织单位树

由于一个OU可以有父级OU,一个租户下所有的OU是树形结构,该树有如下规则:

可以有多个根节点(根节点的ParentId为空)

树的最大深度被定义为一个常量OrganizationUnit.MaxDepth,它的值是16。

第一层级子OU数有限制(由于固定的OU编码单位长度的原因,下面有相关解释)

2. OU编码

OU编码有组织单位管理器自动创建和维护,OU编码是类似下面的字符串:

“00001.00042.00005”

该编码可以轻易实现递归查询数据库中所有的子OU,该编码有如下规则:

对于某个租户来说,它是唯一的。

一个父OU的所有子OU的编码都以父OU的编码开头。

它的固定长度基于树中的OU层级决定,参见示例代码。

尽管OU编码是唯一的,但是在你移动一个OU的情况下它能被改变,因此我们应该通过OU的Id来引用OU,而不是OU的编码。

2.4.3 组织单位管理器

组织单位管理器类可以被注入并用于管理OU,常见用例如下:

创建、更新、删除一个OU。

在OU树中移动一个OU。

获取OU树及节点的信息。

1. 多租户

组织单位管理器被设计用来为单租户使用,它默认为当前租户使用。

2.4.4 常见用例

以下是OU的常见用例,相关示例的源代码请点这里。

1. 创建属于某个组织单位的实体

OU最明显的用例是将实体分配给某个OU,例如

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值