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]

Reply via email to