[{"id":"840f0737-df1d-47ae-bb0a-359b01fe0608","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"d5d9cdef-8854-4505-89be-a2bbc3cb4482","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"3dc3dd55-35b0-4d23-bf62-47bc3650e4ee","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"80d84fbc-d0f8-4e4a-947f-e3e4de9b49b2","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]},{"id":"9152b7ca-0186-4fe3-a26f-5a05f322db07","tags":[{"product":null,"links":null,"id":"adf72f47-7f61-4239-8392-b9bcc127fa80","name":"\u65B0\u589E","color":"green","productId":"0995490e-43fc-4d6e-bc8d-8e66f38b0c63"}]}]
        
(Showing Draft Content)

用户/组织上下文

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

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

用户上下文

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

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

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

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

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

如果使用扩展属性的话,将表达式中的keyname直接换成扩展属性名即可,如果扩展属性为多值属性,那么也需要在表达式中加"s"。

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

组织上下文

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

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

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

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

更多

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

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