I have below requirement and need your expert help on this.
We have couple of report categories and each category would contain some "X" number of reports.
User will choose the required category and he will search for the required reports.
UserA is only allowed to search ReportA
UserB is only allowed to search ReportB.
We would like to define the security around reports such that when UserA searches for ReportB he should not get that in report browser and viceversa when UserB searches ReportA that should not be visible in the report browser.
Created different access roles for both users (AR1 and AR2)
Created different privileges (PR1 and PR2)
Added privileges to Reports Definitions ( ReportA--> PR1 and ReportB--> PR2)
Created Access of Role to an object and added privileges accordingly matching the Access Roles( ARO1--> PR1(5) and AR02--> PR2(5))
UserA is still able to search the ReportB though he can't execute it.
Am I missing something? Can we achieve the requirement through this approach?
Thanks in Advance.
***Updated by moderator: Lochan - User still needing assistance. Adding #helpme tag***
I know that you can get the desired behavior of having reports, for which a user is not authorized, not show up in search when using attribute based access control (ABAC) to determine authorization to rules and work objects. ABAC is a new feature in 7.2.1 and thus would not be available if you are using an earlier version.
The key rule involved here thru which one can search report in report browser is pzRBShortCuts7 which has a cell mapped to pySearchText property
This in turn calling the data transform pzRBSetFilters and refreshing the section and display the desired result.
Since both are final rules, it is not possible to customize these. However, this data transform has a call to pyRBUpdateWhiteList7 in the very first step which is an available data transform. You can modify this data transform to impose your restriction on search.