[]
注意
仅系统管理员可以编辑组织的属性。
组织默认仅有一个名称属性,您可以根据需要添加更多的组织属性。
之后每个组织就可以有自己的属性值,这就是组织上下文信息,将来可以用于数据过滤等。这就是多租户用户的数据隔离原理。
1. 管理员进入后台管理网站,选择 账户管理>组织管理 ,即可进入组织管理界面。

2. 单击组织模型按钮。

3. 单击添加属性按钮。

4. 输入属性名称,如“ DBName ”,并设置其他项目。

属性值类型:选择属性值的数据类型,保存后不可更改。
必填项:是否设置该属性为添加组织时的必填项。
允许多值:是否为多值属性。
允许隐藏值:开启后属性值旁边会有一个小眼睛,点击可隐藏或显示属性值。

5. 可见新添加的组织属性。

提示
自定义的组织属性在组织中使用时,可以设置为禁止子组织查看或编辑,如下图。
这样一来,属性值不会暴露给子组织成员,在使用该属性进行数据过滤时更安全。
系统管理员进入组织管理界面,选择组织模型。

找到需要删除的属性后,单击右侧的删除按钮。

在弹出的确认对话框中确认即可。
组织上下文可用于数据源连接字符串、数据集数据过滤中或报表中。
将组织属性用于数据源连接串中实现不同的组织用户登录时,使用同一数据源但可以连接不同的数据库。
数据源连接串中的所有配置项都可以使用组织属性,使用方式为“#{属性名称}”如“#{DBName}”。
示例:
1. 比如A分公司的组织管理员A-张三创建了一个组织属性为“DBName”和两个子组织分别为研发总部 和 营销中心 ,这两个子组织的DBName属性分别为DB1和DB2,。
组织名 | DBName属性值 | 组织成员 |
|---|---|---|
研发总部 | DB1 | A-研发总部-001 |
营销中心 | DB2 | A-营销中心-001 |
2. A张三登录系统后,使用连接字串创建数据源。并将Database设置为组织属性名称。

创建成功后,将数据源分享给子组织“研发中心”和“销售中心”。

3. 研发总部的用户 A-研发总部-001登录系统后,查看该数据源,可以看到连接的数据库为DB1的数据。

4. 營銷中心的 A-營銷中心-001 登录系统,查看该数据源,可见该数据源连接的是不同的数据库DB2。

使用“组织信息上下文”作为数据集参数进行数据过滤,

使用“组织信息上下文”过滤数据的做法与“用户信息上下文”非常类似,具体使用步骤请参考行级数据管理。
type=info
提示
在缓存数据集中添加参数类型为组织信息上下的参数时,设置中会出现下图中的选项,基于租户(组织信息上下文)生成缓存。
开启该选项后将为每个对数据集拥有足够权限的组织创建单独的缓存,并且可以在数据表上使用这个组织信息上下文参数进行数据过滤。
建议当数据集数据量非常大并且有大量租户需要此类缓存功能时,才启用它。
在报表中使用“组织信息上下文”与使用“用户信息上下文”的方法类似,只是调用组织上下文信息的表达式为:
组织信息上下文为单值时:{UserContext.GetValue(" tenant$ 组织属性")}
组织信息上下文为多值时:UserContext.GetValues (" tenant$ 组织属性")
更多关于用户信息上下文在报表中的应用,请参考用户/组织上下文信息。
示例:
以下是在报表中分别调用单值组织上下文,多值组织上下文和调用单值用户信息上下文、多值用户信息上下文的示例,可参考对比。

当前登录用户为admin,他的用户信息以及组织信息如下:

