[]
        
在线Demo 免费试用
(Showing Draft Content)

用户/组织上下文

1. 概述

1.1 功能概述

报表设计中,我们经常需要根据用户身份决定显示哪些数据。

报表提供的 UserContext 表达式不仅可以取到当前登录报表系统的用户名,还可以获得用户所属角色、电子邮件地址等信息。

1.2 用户上下文

  1. 这里我们用表达式 {UserContext.GetValue("keyName ")} 来获取用户上下文,其中 keyname 为用户属性名,可以是系统内置的用户属性也可以使用扩展属性。

    PixPin_2025-07-30_14-35-53

  • 如果使用系统内置属性的话,属性与keyname对应关系如下:

    • 用户名对应“name”,即表达式为 {UserContext.GetValue("name")}

    • 角色对应"role",即表达式为 {UserContext.GetValues("role")},请注意如果keyname为“role”的话,表达式中需带有“s”。

    • 邮箱对应“email”,即表达式为 {UserContext.GetValue("email")}

  • 如果使用扩展属性的话,将表达式中的keyname直接换成扩展属性名即可,如果扩展属性为多值属性,那么也需要在表达式中加"s"。有关具体应用方法请见用户/组织上下文信息

1.3 组织上下文

  1. 在报表中使用组织上下文与使用用户上下文的方法类似,只是调用组织上下文信息的表达式为:

    1. 组织上下文为单值时:{UserContext.GetValue(" tenant$ 组织属性")}

    2. 组织上下文为多值时:UserContext.GetValues (" tenant$ 组织属性")

  2. 有关具体应用方法请见用户/组织上下文信息

1.4 取得当前登录用户的角色信息

  1. 在报表中,若想取得当前登录用户的角色信息,表达式如下:

    {Join(UserContext.MyRoles(), ",")}

2. 更多

  1. 定制开发安全提供程序,甚至可以获取任何有关当前用户的信息,比如所属部门、职务、业务区域等任何希望用于业务报表数据过滤的信息。获取到这些信息后,再利用扩展属性的功能进行使用。

  2. 有关自定义安全提供程序的详细信息,请参见: