Cached Report Bursting
Cached report bursting is a security mechanism for controlling user access to data at the group level in a page report. It enables different users to view different data groups according to their access privileges. The report designer defines which groups of data in a report are available to which users, groups, or roles existing in the Logi Report Server security system. Then when a specified user accesses the report at runtime, Logi Report Server checks the user, and the group and role of the user and merges the groups of data the user is authorized to see and displays permitted result to the user. Cached report bursting also applies to nested groups. This topics describes how to create cached report bursting on page reports to limit user access to different groups of data.
Cached report bursting is implemented with these security properties on the group panels of tables or banded objects: Cascade, Grant, Groups, and Roles. The following example shows the basic procedure to set up a cached report bursting policy.
- Create a group table in a page report for customer information which is grouped by the Country field.
- Create a formula to control the Grant property value. This formula returns a String value indicating which user will have the privilege to access the data of which Country group.
Here, we write the formula Burst_User to set the security identifier as follows:
if (@Country == "China" || @Country == "Canada")
return "admin";
if (@Country == "USA")
return "jennifer";"admin" and "jennifer" are two users in the Logi Report Server security system. The above formula states that, the user "admin" is authorized to view the China and Canada groups, while the user "jennifer" can only view the USA group. If the formula is written as follows:
if ( @Country =="USA")
return "user1|user2|user3";Then, user1, user2, and user3 can view the USA group.
- Create another formula Burst_Group to control the Groups property value. This formula returns a String value indicating which group of users will have the privilege to access the data of which Country group.
if(@Country=='Italy')
return 'group1';
if(@Country=='USA')
return 'group2'; - Create one more formula Burst_Role to control the Roles property value. This formula returns a String value indicating which role will have the privilege to access the data of which Country group.
if(@Country=='Japan')
return 'role1';
if(@Country=='USA')
return 'role2'; - In the Report Inspector, select the Table Group object for the group and locate the Security section in the Properties sheet (for a banded object, it is the Group Panel object).
- Set the Grant property's value to the formula Burst_User, Groups to Burst_Group, and Roles to Burst_Role.
After a report with cached report bursting is published to Logi Report Server, when the specified users try to access the report, they can only view the groups of data that are authorized to them. In the above example, if the user "admin" belongs to group1 and role1, he will be able to view the China, Canada, Italy, and Japan groups; jennifer will be able to view only the USA group if she belongs to group2 and role2.
Tip: In addition to creating formulas and selecting the formulas to control the security properties, you can also edit expressions directly as the values the properties to define the cached report bursting security policy.