Friday, February 28, 2014

Authentication: External table authentication:

You can maintain lists of users and their passwords in an external database table and use this table for authentication purposes. The external database table contains user names and passwords, and could contain other information, including group membership and display names used for Oracle BI Presentation Services users. 

External table authentication uses session variables that you define using the Variable Manager in the Administration Tool.

Session variables get their values when a user begins a session by logging on. Certain session variables, called system variables, have special uses. The variable USER is a system variable that is used with external table authentication.


To set up external table authentication:
  1. Import information about the external table into the Physical layer.
  2. Select Manage, then Variables in the Administration Tool to open the Variable Manager.
  3. Select Initialization Blocks in the left pane.
  4. Right-click in the right pane and select New Initialization Block.
  5. In the Initialization Block dialog box, enter a name for the initialization block.
  6. Select Database from the Data Source Connection list.
  7. Click Browse to search for the name of the connection pool this block uses.
  8. In the Initialization String area, enter the SQL statement that is issued at authentication time.
    The values returned by the database in the columns in the SQL statement is assigned to variables. The order of the variables and the order of the columns determines which columns are assigned to which variables. Consider the SQL in the following example:
    SELECT username, grp_name, SalesRep, 2 FROM securitylogons WHERE username = ':USER' and pwd = ':PASSWORD'
    
    This SQL contains two constraints in the WHERE clause:
    • :USER (note the colon) equals the name the user entered when logging on.
    • :PASSWORD (note the colon) equals the password the user entered.
    The query returns data only if the user name and password match values found in the specified table.
    You should test the SQL statement outside of the Oracle BI Server, substituting valid values for :USER and :PASSWORD to verify that a row of data returns.
  9. If this query returns data, then the user is authenticated and session variables are populated. Because this query returns four columns, four session variables are populated. Create these variables (USER, GROUP, DISPLAYNAME, and LOGLEVEL) by clicking New in the Variables tab.
    If a variable is not in the desired order, click the variable you want to reorder and use the Up and Down buttons to move it.
  10. Click OK to save the initialization block.
Test it by login in the analytics.

Order of Authentication:

First request goes to LDAP for authentication. If it failes then then request will go for External tables.

No comments:

Post a Comment