Goku
Goku

Reputation: 441

How to display different interactive grid queries, depending on user privileges

I use Master-Detail page. I want to display whole table only for user who is an administrator. For the user who isn't the administrator, I want to display sql query which will be restrict MD view.

I tried to create another one master detail on same page which is visible only for users without Administrator role. And first MD is not visible for them.(I used Server-side Condition) Is there exist some other way to display different query, depending on user role.

I hope I explained the problem clearly. Thanks in advance

Upvotes: 0

Views: 347

Answers (1)

Koen Lostrie
Koen Lostrie

Reputation: 18665

Have a look at the package APEX_ACL, you can use the related views in your where clause.

Example:admins see all rows, other users only see the row for KING

SELECT *
  FROM emp
 WHERE 
       -- user is admin ?
       ( EXISTS ( SELECT 1
                   FROM apex_appl_acl_user_roles
                  WHERE application_id = :APP_ID AND
                        user_name = :APP_USER AND
                        role_static_id = 'ADMINISTRATOR'
                ) ) OR
       -- user is no admin 
       ( ename = 'KING' );

Upvotes: 1

Related Questions