Eric Schoen created SOLR-18141:
----------------------------------
Summary: Improve MultiAuthPlugin with Kerberos
Key: SOLR-18141
URL: https://issues.apache.org/jira/browse/SOLR-18141
Project: Solr
Issue Type: Bug
Components: Authentication
Affects Versions: 9.8.1
Environment: Debian Bookworm
Reporter: Eric Schoen
I need to develop client side support for Kerberos authentication outside of a
Windows environment, so it would be helpful to retain Basic Auth while also
supporting Kerberos. But it looks like MultiAuthPlugin doesn't handle
KerberosPlugin's constructor parameters. I don't see any explanation of
solr.KerberosPlugin or org.apache.solr.security.hadoop.KerberosPlugin's
constructor parameters. Is it possible to create an entry for Kerberos auth in
the multiauth plugin spec?
{{ org.apache.solr.common.SolrException: Error instantiating class:
'org.apache.solr.security.hadoop.KerberosPlugin'}}
{{ at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:650)
~[?:?]}}
{{ at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:607)
~[?:?]}}
{{ at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:599)
~[?:?]}}
{{ at
org.apache.solr.security.MultiAuthPlugin.initPluginForScheme(MultiAuthPlugin.java:161)
~[?:?]}}
{{ at
org.apache.solr.security.MultiAuthPlugin.init(MultiAuthPlugin.java:142) ~[?:?]}}
{{ at
org.apache.solr.core.CoreContainer.initializeAuthenticationPlugin(CoreContainer.java:568)
~[?:?]}}
{{ at
org.apache.solr.core.CoreContainer.reloadSecurityProperties(CoreContainer.java:1190)
~[?:?]}}
{{ at
org.apache.solr.core.CoreContainer.loadInternal(CoreContainer.java:863) ~[?:?]}}
{{ at org.apache.solr.core.CoreContainer.load(CoreContainer.java:762)
~[?:?]}}
{{ at
org.apache.solr.servlet.CoreContainerProvider.createCoreContainer(CoreContainerProvider.java:427)
~[?:?]}}
{{ at
org.apache.solr.servlet.CoreContainerProvider.init(CoreContainerProvider.java:246)
~[?:?]}}
{{ at
org.apache.solr.servlet.CoreContainerProvider.contextInitialized(CoreContainerProvider.java:116)
~[?:?]}}
{{ at
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:1049)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:624)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.ContextHandler.contextInitialized(ContextHandler.java:984)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:740)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:392)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1304)
~[jetty-webapp-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:901)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:306)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:532)
~[jetty-webapp-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:221)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at org.eclipse.jetty.server.Server.start(Server.java:470)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at org.eclipse.jetty.server.Server.doStart(Server.java:415)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1919)
~[jetty-xml-10.0.20.jar:10.0.20]}}
{{ at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:?]}}
{{ at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
~[?:?]}}
{{ at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]}}
{{ at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]}}
{{ at org.eclipse.jetty.start.Main.invokeMain(Main.java:229)
~[start.jar:10.0.20]}}
{{ at org.eclipse.jetty.start.Main.start(Main.java:528)
~[start.jar:10.0.20]}}
{{ at org.eclipse.jetty.start.Main.main(Main.java:76)
~[start.jar:10.0.20]}}
{{ Caused by: java.lang.NoSuchMethodException:
org.apache.solr.security.hadoop.KerberosPlugin.<init>()}}
{{ at java.base/java.lang.Class.getConstructor0(Class.java:3585) ~[?:?]}}
{{ at java.base/java.lang.Class.getConstructor(Class.java:2271) ~[?:?]}}
{{ at
org.apache.solr.core.SolrResourceLoader.newInstance(SolrResourceLoader.java:625)
~[?:?]}}
{{ ... 56 more}}
{{ 2026-02-27 21:40:45.366 ERROR (main) [c: s: r: x: t:]
o.a.s.s.CoreContainerProvider Error processing the request. CoreContainer is
either not initialized or shutting down.}}
{{ 2026-02-27 21:40:45.366 ERROR (main) [c: s: r: x: t:]
o.a.s.s.SolrDispatchFilter Could not start Dispatch Filter. =>
javax.servlet.UnavailableException: Error processing the request. CoreContainer
is either not initialized or shu}}
{{ tting down.}}
{{ at
org.apache.solr.servlet.CoreContainerProvider.waitForCoreContainer(CoreContainerProvider.java:156)}}
{{ javax.servlet.UnavailableException: Error processing the request.
CoreContainer is either not initialized or shutting down.}}
{{ at
org.apache.solr.servlet.CoreContainerProvider.waitForCoreContainer(CoreContainerProvider.java:156)
~[?:?]}}
{{ at
org.apache.solr.servlet.CoreContainerProvider.getCoreContainer(CoreContainerProvider.java:125)
~[?:?]}}
{{ at
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:148)
~[?:?]}}
{{ at
org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:133)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$2(ServletHandler.java:725)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
~[?:?]}}
{{ at
java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734)
~[?:?]}}
{{ at
java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
~[?:?]}}
{{ at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:749)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:392)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1304)
~[jetty-webapp-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:901)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:306)
~[jetty-servlet-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:532)
~[jetty-webapp-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:221)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at org.eclipse.jetty.server.Server.start(Server.java:470)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at org.eclipse.jetty.server.Server.doStart(Server.java:415)
~[jetty-server-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
~[jetty-util-10.0.20.jar:10.0.20]}}
{{ at
org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1919)
~[jetty-xml-10.0.20.jar:10.0.20]}}
{{ at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[?:?]}}
{{ at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
~[?:?]}}
{{ at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:?]}}
{{ at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]}}
{{ at org.eclipse.jetty.start.Main.invokeMain(Main.java:229)
~[start.jar:10.0.20]}}
{{ at org.eclipse.jetty.start.Main.start(Main.java:528)
~[start.jar:10.0.20]}}
{{ at org.eclipse.jetty.start.Main.main(Main.java:76)
~[start.jar:10.0.20]}}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]