000030397 - AAonPrem: <Filter [authFilter]: filter is unavailable.> or toolkit.common.error

Document created by RSA Customer Support Employee on Jun 14, 2016Last modified by RSA Customer Support Employee on Apr 21, 2017
Version 2Show Document
  • View in full screen mode

Article Content

Article Number000030397
Applies ToRSA Product Set: Adaptive Authentication (OnPrem)
RSA Version/Condition: 7.1 P5
AppServer: Websphere
 
IssueCustomer reported below error after upgrade to 7.x
1. Getting "toolkit.common.error" while accessing 7.x backoffice.
2. Below error logs when accessing accessmanagement application
015-05-29 08:26:24,022 ERROR [com.rsa.jsp] - <Filter [authFilter]: filter is unavailable.>
javax.servlet.ServletException: Filter [authFilter]: filter is unavailable.
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:231)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.passmarksecurity.tools.auth.client.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:90)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:116)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:77)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:934)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:502)
    at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
    at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
    at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:259)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3935)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:276)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:931)
    at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:186)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:452)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:511)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:305)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:83)
    at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1784)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
    at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1613)
Caused by: java.lang.NullPointerException
    at com.passmarksecurity.utils.AppContext.getSpringContext(AppContext.java:133)
    at com.rsa.csd.backoffice.configuration.BODatabaseConfiguration.init(BODatabaseConfiguration.java:43)
    at com.rsa.csd.backoffice.configuration.BODatabaseConfiguration.getService(BODatabaseConfiguration.java:34)
    at com.passmarksecurity.tools.auth.client.AuthServletFilter.auditAction(AuthServletFilter.java:478)
    at com.passmarksecurity.tools.auth.client.AuthServletFilter.checkValidKeys(AuthServletFilter.java:561)
    at com.passmarksecurity.tools.auth.client.AuthServletFilter.doFilter(AuthServletFilter.java:280)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:188)
    ... 29 more
CauseIf war files are uploaded without proper classloading option as suggested in I&C guide then it results in the above errors.
ResolutionPlease follow the below steps to set the class loading order. Refer AAOP I&C guide also which includes same steps.
Setting the Class Loader Order 

To set the class loader order on supported WebSphere Application Server 

versions 7.0, 8.0, and 8.5: 

1. Log on to the WebSphere Administration Console. 

2. Select Applications Types > WebSphere enterprise applications, and select the 

web application that you want to deploy. 

Note: You must perform this step for the Adaptive Authentication, Adaptive 

Authentication Admin, and all Back Office applications. 

3. In Detail Properties, click Class loading and update detection. 

4. In the Class loader order area, select Classes loaded with local class loader first 

(parent last). 

5. Under the web application you selected in step 2, in the Modules section, click 

Manage Modules. 

6. Click the module for which you want to change the setting. 

7. In the Configuration tab, in the Class loader order field, select Classes loaded 

with local class loader first (parent last). 

8. Click OK. 

9. Click Save to save the changes to the master configuration. 

 

Attachments

    Outcomes