AnsweredAssumed Answered

Instance level Security in Reports

Question asked by Shruthi on Aug 11, 2010
Latest reply on Aug 12, 2010 by DevK

We have a requirement for instance level security in reports.

We have a report which lists all the projects in the system.
Every user in the system belongs to some group, which determines which project he/she can see.

For portlets, we have implemented this using @WHERE:SECURITY clause. This filtered the projects in the portlets basing on the user's group.
We need something like this for reports. We have tried previewing the portlets NSQLs.
The clause translated to the below query in SQL

INV.ID in (select object_instance_id from odfsec_project_v2 where user_id = 1)

We used the same where condition in our report query, but it did not filter the projects.

Next we tried to replace the '1' in the where condition with the USER_ID values of different users. But it did not work.

Is there any mechanism for to apply instance level security in Clarity reports like @WHERE:SECURITY clause for portlets?

Alternately, it would help if anyone has a query/view/stored procedure which accepts the USER_ID of a user and returns the projects which that user can see.
We can use it in our reports query.

We are using Crystal Reports XI.