Previous Topic: Enable Administrative Security

Next Topic: Configure the SiteMinder TAI in WebSphere

(Optional) Configure the Class Loader for the SiteMinder Agent Logger

The SiteMinder Agent for IBM WebSphere Logger is implemented using Apache log4j (see http://logging.apache.org/log4j/docs/). The log4j software is therefore packaged and installed with the SiteMinder Agent. The SiteMinder Agent Logger is packaged in WS_HOME/lib/ext/smlogger.jar and also uses the Apache log4j.jar located in the same directory.

Because log4j is an open source component, other J2EE applications deployed in WebSphere can also use it to implement logging. J2EE applications achieve isolation between different log4j versions by providing log4j in the application classpath. By default system components like the SiteMinder Agent also require log4j to be present in the system classpath (which can cause accompanying issues) unless you configure a class loader.

Optionally, configure the SiteMinder Agent class loader to enable the SiteMinder Agent Logger to be loaded outside of the container system classpath. This allows log4j to be located outside the system classpath; the SiteMinder Agent loads log4j and the dependent SiteMinder Agent logger classes from another location.

To configure the SiteMinder Agent class loader in WebSphere

  1. Move the smlogger.jar and log4j.jar files from WS_HOME/lib/ext to ASA_HOME/lib.
  2. If you have not already done so, set the Java system environment variable smasa.home to point to ASA_HOME (for example, smasa.home=c:\smwasasa).
  3. Set the Java system environment variable log4j.ignoreTCL to true (that is, log4j.ignoreTCL=true).
  4. Grant J2SE permissions to the jar files under ASA_HOME/lib by adding them to the server.policy file in WS_HOME/profiles/My_Profile_Name/properties:
    grant codeBase "file:/ASA_HOME/lib/-" {
      permission java.security.AllPermission;
    };
    

When the WebSphere Application Server is started, the SiteMinder Agent detects that the logger class is not available in the system classpath and attempts to load the logger from smasa.home/lib (that is, the location in which the smlogger.jar and log4j.jar files are placed).

More information:

Edit smagent.properties

Logging