After authenticating w/Spring Security, there is some legacy code that does a JNDI lookup. That lookup was failing immediately after the user was authenticated. I was thrown off by the filter unavailable error message - looking at the WAS logs uncovered the real problem.
Apologies if this is O/T but here is the fix I made to my lookup to work with both Tomcat 6.0.16 and WAS 6.1.0.21:
Code:
try{
// assume we're running on WebSphere
java.util.Properties parms = new java.util.Properties();
parms.setProperty(Context.INITIAL_CONTEXT_FACTORY,
"com.ibm.websphere.naming.WsnInitialContextFactory");
Context ctx = new InitialContext(parms);
DataSource ds = (DataSource) ctx.lookup("java:comp/env/jdbc/myApp");
return ds.getConnection();
}
// if we're not running on WebSphere, catch the exception
// and do the lookup Tomcat style
catch(NoInitialContextException e){
Context initContext = new InitialContext();
Context envContext = (Context) initContext.lookup("java:/comp/env");
DataSource ds = (DataSource) envContext.lookup("jdbc/myApp");
return ds.getConnection();
}