WebFOCUS Online Help > ReportCaster Development and Administration > ReportCaster Security > Configuring ReportCaster With External Authentication
In this section: |
In some environments, you may want to authenticate Managed Reporting/ReportCaster credentials with an external user directory. For example, user passwords may be stored in LDAP or Active Directory. In this case, ReportCaster must be configured so that it does not authenticate users against its ReportCaster Repository, because the user passwords are not stored there. This is accomplished by configuring the ReportCaster Authentication Plug-in setting. The following two sections show how to:
When using a repository driver for Managed Reporting that performs external authentication, such as the Managed Reporting Realm Driver, you must set the Authentication Plug-in parameter in the ReportCaster Server Configuration tool to 'Trusted MR Sign-On'. Setting this value causes ReportCaster to make a trusted Managed Reporting sign-on on behalf of the user, instead of an explicit Managed Reporting sign-on with the user's ID and password.
http://hostname[:port]/rcaster/main/reportcaster.jsp
where:
Is the host name and optional port number (specified only if you are not using the default port number) of the Application Server where the ReportCaster Web application is deployed.
Is the site-customized context root for the ReportCaster Web application deployed on your Application Server. rcaster is the default value.
In this case, since your user credentials have not been validated by Managed Reporting, you must type a valid ReportCaster administrator ID and password to log on to the ReportCaster Development and Administration Interface. From this interface, select the ReportCaster Server Configuration link.
The ReportCaster - Server Configuration window opens displaying the General tab.
When you perform an InstallShield installation on Windows or UNIX, and you install Managed Reporting and ReportCaster together, these settings are populated automatically and both settings point to the same file, as shown above.
When ReportCaster and WebFOCUS are installed at different times or on different machines, you must manually type the location of the key file(s). Additionally, you must create the key file(s).
For more information about how to create a key file manually on Windows or UNIX, see How to Create the Trusted MR Sign-On Key File on Windows or UNIX.
For a z/OS installation, you must also manually create the key file and specify its location. For more information about how to create the key file, see How to Create the Trusted MR Sign-On Key File on z/OS.
Note: The contents of this file (or files) must match the IBIMR_TRUSTED_KEY setting in the cgivars.wfs file.
cd /ibi/WebFOCUS76/client/wfc/etc
oedit ibimr_trusted_keyE.txt
iconv -f IBM-1047 -t ISO8859-1 ibimr_trusted_keyE.txt > location/ibimr_trusted_key.txt
where:
Is the location specified in the "Trusted Key File for ReportCaster Server" and "Trusted Key File for ReportCaster Web Application" settings.
rm ibimr_trusted_keyE.txt
When WebFOCUS and ReportCaster are installed at different times or on different Windows or UNIX machines, perform the following steps to create the trusted key files:
On UNIX, the path to the cgivars.wfs file is:
cd /ibi/WebFOCUS76/client/wfc/etc
On Windows, the path to the cgivars.wfs file is:
cd \ibi\WebFOCUS76\client\wfc\etc
When ReportCaster is not configured with Managed Reporting, you can write a customized plug-in program (in the Java language) that externally authenticates ReportCaster user credentials.
http://hostname[:port]/rcaster/main/reportcaster.jsp
where:
is the host name and optional port number (specified only if you are not using the default port number) of the Application Server where the ReportCaster Web application is deployed.
is the site-customized context root for the ReportCaster Web application deployed on your Application Server. rcaster is the default value.
In this case, since your user credentials have not been validated by Managed Reporting, you must type a valid ReportCaster administrator ID and password to log on to the ReportCaster Development and Administration Interface. From this interface, select the ReportCaster Server Configuration link.
The ReportCaster - Server Configuration window opens displaying the General tab.
Important:
The \ibi\WebFOCUS76\webapps\rcaster76\WEB-INF\lib\DSTRCServlet.jar file must be added to the active classpath when you compile and run your program. The DSTRCServlet.jar file contains the DSTCasterAuthInterface that the authentication plug-in must implement.
The class or jar file containing the class must be added to the ReportCaster Web application. If the ReportCaster plug-in is a class, it should be placed in the \ibi\WebFOCUS76\webapps\rcaster76\WEB-INF\classes subdirectory. If the ReportCaster plug-in is packaged in a .jar file, it should be placed in the \ibi\WebFOCUS76\webapps\rcaster76\WEB-INF\lib subdirectory.
Users will now be authenticated to ReportCaster using the logic in the external plug-in.
This sample ReportCaster Authentication Plug-in is comprised of two Java programs. The first program implements the DSTCasterAuthInterface interface. The second program enables you to override the normal authentication process of ReportCaster using this interface.
/* ** Program 1: ** DSTCasterAuthInterface.java class ** */ package ibi.broker.exit; public interface DSTCasterAuthInterface { public void setUser(String userName); public void setPass(String password); public static final int INVALID_USER = -1; public static final int INVALID_PASS = -2; public static final int AUTH_FAILED = 0; public static final int AUTH_SUCCESS = 1; public int authenticate(); } /* ** Program 2: ** RCSampleAuthExit.java class * */ import ibi.broker.exit.*; /** * * @author * @version 7 */ package abcd.sample; public class RCSampleAuthExit implements DSTCasterAuthInterface{ String user = ""; String pass = "";
public RCSampleAuthExit() { } public void setUser(String tempUser) { user = tempUser; } public void setPass(String tempPass) { pass = tempPass; } public int authenticate() { if( user.equalsIgnoreCase("validuser") == true ) return RCSampleAuthExit.AUTH_SUCCESS; else return RCSampleAuthExit.AUTH_FAILED; }
WebFOCUS |