On 11/11/2016 01:47, Daniel Ruggeri wrote: > Hi, Tomcat devs; > I'm a bit out of my usual neighborhood with httpd... but I'm working > on creating a custom Authenticator for a non-standard auth-method in > Tomcat and noticed there isn't a "stock" method for adding > Authenticators aside from cracking open catalina.jar and messing with > Authenticators.properties. After a bit of poking around I came across > the ContextConfig class and found that I can create an implementation > that allows me to create/assign the Map of customAuthenticators. Sweet - > so I set up a little testing playground in Eclipse, wrote up my classes > and am a bit confused by results. > > What I have come to find is that when starting Tomcat normally, the > custom configClass works as expected when setting server.xml up as > detailed below. When starting Tomcat in embedded mode via eclipse, > however, I cannot seem to get the custom class to ever be used. I am not > sure if this is expected behavior based on the way embedded Tomcat works > or if this may actually be a bug. > > Thoughts?
It is a bug. It has been fixed for the next set of releases. Thanks for the report. Mark > > > > --- info below --- > server.xml Host tag: > <Host name="localhost" appBase="webapps" > configClass="ruggeri.daniel.tester.CustomAuthenticatorsContextConfig" > unpackWARs="true" autoDeploy="true"> > > > Snip of JUnit test for embedded mode: > tomcat = new Tomcat(); > tomcat.setBaseDir(tempDir.toString()); > tomcat.setHostname("localhost"); > tomcat.setPort(8080); > > > tomcat.getHost().setConfigClass(CustomAuthenticatorsContextConfig.class.getCanonicalName()); > > > Context ctx = tomcat.addWebapp(tomcat.getHost(), "/testerApp", > warPath); > tomcat.init(); > tomcat.start(); > > > Demonstration class to confirm the class is being used. > CustomAuthenticatorsContextConfig.java: > package ruggeri.daniel.tester; > > import org.apache.catalina.startup.ContextConfig; > > public class CustomAuthenticatorsContextConfig extends ContextConfig { > public CustomAuthenticatorsContextConfig() { > super(); > System.out.println("Custom Authenticators ContextConfig > created!!!"); > } > } > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org