I created a auth.conf file in my $CATALINA_HOME/conf and pointed the JVM to it.
/usr/local/apache-tomcat-6.0.16/auth.conf: dropInv { com.ips.security.UdLoginModule required; loginFile="VALIDATION"; loginKey="100!IPS.DROP.AUTH"; userAttr="3"; credAttr="4"; roleAttr="5"; }; java.security: # # Default login configuration file # #login.config.url.1=file:${user.home}/.java.login.config login.config.url.3=file:///usr/local/apache-tomcat-6.0.16/auth.conf Re-deployed my application Re-started tomcat to pickup the changes and ... Jul 23, 2008 2:54:38 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/jdk1.6.0_03/jre/lib/i386/client:/usr/java/jdk1.6.0_03/jre/lib/i386:/usr/java/jdk1.6.0_03/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib Jul 23, 2008 2:54:39 PM org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 Jul 23, 2008 2:54:39 PM org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1246 ms Jul 23, 2008 2:54:39 PM org.apache.catalina.core.StandardService start INFO: Starting service Catalina Jul 23, 2008 2:54:39 PM org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.16 Jul 23, 2008 2:54:39 PM org.apache.catalina.realm.JAASRealm setUseContextClassLoader INFO: Setting useContextClassLoader = true Jul 23, 2008 2:54:39 PM org.apache.catalina.realm.JAASRealm setContainer INFO: Set JAAS app name dropInv Jul 23, 2008 2:54:39 PM org.apache.catalina.realm.JAASRealm parseClassNames SEVERE: Class com.ips.security.User not found! Class not added. Jul 23, 2008 2:54:39 PM org.apache.catalina.realm.JAASRealm parseClassNames SEVERE: Class com.ips.security.Roles not found! Class not added. Jul 23, 2008 2:54:40 PM org.apache.catalina.core.StandardContext addApplicationListener INFO: The listener "com.sun.xml.ws.transport.http.servlet.WSServletContextListener" is already configured for this context. The duplicate definition has been ignored. Jul 23, 2008 2:54:40 PM com.sun.xml.ws.transport.http.servlet.WSServletContextListener contextInitialized INFO: WSSERVLET12: JAX-WS context listener initializing Jul 23, 2008 2:54:42 PM com.sun.xml.ws.transport.http.servlet.WSServletDelegate <init> INFO: WSSERVLET14: JAX-WS servlet initializing Jul 23, 2008 2:54:43 PM org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 Jul 23, 2008 2:54:43 PM org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 Jul 23, 2008 2:54:43 PM org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=0/137 config=null Jul 23, 2008 2:54:43 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 4534 ms Jul 23, 2008 2:54:43 PM org.apache.catalina.startup.HostConfig checkResources INFO: Undeploying context [/dropInv] Jul 23, 2008 2:54:43 PM org.apache.catalina.realm.JAASRealm setUseContextClassLoader INFO: Setting useContextClassLoader = true Jul 23, 2008 2:54:43 PM org.apache.catalina.realm.JAASRealm setContainer INFO: Set JAAS app name dropInv Jul 23, 2008 2:54:43 PM org.apache.catalina.realm.JAASRealm parseClassNames SEVERE: Class com.ips.security.User not found! Class not added. Jul 23, 2008 2:54:43 PM org.apache.catalina.realm.JAASRealm parseClassNames SEVERE: Class com.ips.security.Roles not found! Class not added. Jul 23, 2008 2:54:44 PM org.apache.catalina.core.StandardContext start INFO: Container org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/dropInv] has already been started What am I missing? TIA