When a user logs in to OBIEE, how can you set it up, so that the Dashboard the user sees is dependent on their application role(s)?
This can be setup using system session variable ROLES and PORATLPATH.
1.Create a table in the database which holds the roles, patch and user name. This will be queried by the OBIEE initialization block. For example (a table called role_table):
SQL> desc role_table
Name NULL? Type
------------------------------------ -------- -----------------
ROLE VARCHAR2(90)
PATH VARCHAR2(30)
USERNAME VARCHAR2(30)
SQL> select * from role_table;
ROLE PATH USERNAME
------------------------------------------------------------------------------------- --------------------------- ------------
authenticated-role;Group1;BIConsumer;anonymous-role;AuthenticatedUser /shared/_portal/default1 user01
authenticated-role;Group2;BIConsumer;anonymous-role;AuthenticatedUser /shared/_portal/default2 user02
You can check the Application Role variable using the following:
@{biServer.variables['NQ_SESSION.ROLES']}
Paste the variable above on the dashboard page.
2. Log in to the Administration Tool and create an initialization block. For example:
Name:SET_PORTALPATH (can be any name)
Database Source:
Connection Pool for the database where role_table was created in step1.
Use the following SQL to find the path for the user's role:
select path from role_table where ROLE = 'VALUEOF(NQ_SESSION.ROLES)'
Variable Target: PORTALPATH
This will connect to the database where role_table is stored and select the path (in this case the dashboard to display) for the user's role.
For more information see chapter 19 of Oracle® Fusion Middleware Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition 11g Release 1 (11.1.1)
s128 sabung ayam
ReplyDelete