Community
Participate
Working Groups
Build Identifier: #37 HTTP ERROR 500 Problem accessing /configSubmit. Reason: startup failed: Script1.groovy: 18: unable to resolve class org.springframework.security.providers.ldap.authenticator.BindAuthenticator2 @ line 18, column 1. import org.springframework.security.providers.ldap.authenticator.BindAuthenticator2 ^ 1 error Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: Script1.groovy: 18: unable to resolve class org.springframework.security.providers.ldap.authenticator.BindAuthenticator2 @ line 18, column 1. import org.springframework.security.providers.ldap.authenticator.BindAuthenticator2 ^ 1 error at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:302) at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:854) at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:544) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:493) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:306) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:287) at groovy.lang.GroovyShell.parseClass(GroovyShell.java:731) at groovy.lang.GroovyShell.parse(GroovyShell.java:743) at groovy.lang.GroovyShell.parse(GroovyShell.java:723) at groovy.lang.GroovyShell.parse(GroovyShell.java:790) at hudson.util.spring.BeanBuilder.parse(BeanBuilder.java:147) at hudson.security.LDAPSecurityRealm.createSecurityComponents(LDAPSecurityRealm.java:337) at hudson.security.SecurityRealm.getSecurityComponents(SecurityRealm.java:389) at hudson.security.HudsonFilter.reset(HudsonFilter.java:127) at hudson.model.Hudson.setSecurityRealm(Hudson.java:1986) at hudson.model.Hudson.doConfigSubmit(Hudson.java:2534) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:282) at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:149) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:88) at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:104) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:563) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:648) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:477) at org.kohsuke.stapler.Stapler.service(Stapler.java:159) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:87) at org.eclipse.hudson.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:172) at org.eclipse.hudson.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:140) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:90) at org.eclipse.hudson.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:172) at org.eclipse.hudson.servlets.internal.ServletRegistrationFilterAdapter.doFilter(ServletRegistrationFilterAdapter.java:140) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:90) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:79) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:77) at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:44) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:80) at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:80) at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:80) at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:80) at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:80) at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:80) at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235) at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:80) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:69) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:157) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:74) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399) at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216) at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766) at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:326) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228) at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582) Reproducible: Always Steps to Reproduce: 1. Manage Hudson -> Configure System 2. Enable security 3. Choose ldap 4. Enter a valid ldap server 5. Set the Root DN and User Search filter 6. Try and save the change error stack above seen.
Fixed. The binding authenticator logging hack from KK was not ported correctly. http://git.eclipse.org/c/hudson/org.eclipse.hudson.core.git/commit/?id=29b5b502b3715df91bb14c6612aadf553cca15d6 I tested with simple LDAP setup LDAP - Apache Directory Server See the attached images image1 - The settings I put in the Hudson LDAP Securtiy Config image2 - Apache LDAP browser showing my entries
Created attachment 209237 [details] Hudson LDAP config
Created attachment 209238 [details] Apache LDAP Browser
Retested in M0 candidate