OData servlet throws TEIID10036/TEIID40087 when disabling security
------------------------------------------------------------------
Key: TEIID-3569
URL:
https://issues.jboss.org/browse/TEIID-3569
Project: Teiid
Issue Type: Enhancement
Components: OData
Affects Versions: 8.7.1
Reporter: Hisanobu Okuda
Assignee: Ramesh Reddy
Fix For: 8.7.1.6_2, 8.12
When I disable security for teiid-odata-8.7.1.redhat-8.war modifying web.xml as
follows:-
{code}
<!--
<security-constraint>
<display-name>require valid user</display-name>
<web-resource-collection>
<web-resource-name>Teiid Rest Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>odata</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>yourdomain.com</realm-name>
</login-config>
-->
</web-app>
{code}
The OData servlet thowrs an exception:-
{code}
10:47:51,578 SEVERE [org.teiid.jdbc] (http-/127.0.0.1:8080-2) Could not create
connection: org.teiid.jdbc.TeiidSQLException: TEIID10036 org.teiid.core.TeiidException:
TEIID10036 org.teiid.net.ConnectionException: TEIID40087 Passthrough authentication
failed. No auth[6/1654]
on information found.
at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
[teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
[teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.jdbc.EmbeddedProfile.connect(EmbeddedProfile.java:55)
[teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.jdbc.TeiidDriver.connect(TeiidDriver.java:105)
[teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.odata.LocalClient.getConnection(LocalClient.java:121) [classes:]
at org.teiid.odata.LocalClient.getVDB(LocalClient.java:94) [classes:]
at org.teiid.odata.LocalClient.getMetadata(LocalClient.java:425) [classes:]
at org.teiid.odata.TeiidProducer.getMetadata(TeiidProducer.java:69) [classes:]
at
org.odata4j.producer.resources.EntitiesRequestResource.getEntitiesImpl(EntitiesRequestResource.java:350)
[odata4j-core-0.8.0.redhat-2.jar:]
at
org.odata4j.producer.resources.EntitiesRequestResource.getEntities(EntitiesRequestResource.java:266)
[odata4j-core-0.8.0.redhat-2.jar:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[rt.jar:1.7.0_45]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_45]
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
[resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:269)
[resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:227)
[resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:216)
[resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
at
org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)
[resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
[resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
at
org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
[resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
at
org.teiid.odata.ODataServletContainerDispatcher.service(ODataServletContainerDispatcher.java:118)
[classes:]
at org.teiid.odata.ODataServlet.service(ODataServlet.java:65) [classes:]
at
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
[resteasy-jaxrs-2.3.8.SP4-redhat-2.jar:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
[jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169)
[jboss-as-web-7.4.3.Final-redhat-2.jar:7.4.3.Final-redhat-2]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926)
[jbossweb-7.4.10.Final-redhat-1.jar:7.4.10.Final-redhat-1]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
Caused by: org.teiid.core.TeiidException: TEIID10036 org.teiid.core.TeiidException:
TEIID10036 org.teiid.net.ConnectionException: TEIID40087 Passthrough authentication
failed. No authentication information found.
at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:292)
[teiid-common-core-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.jdbc.ModuleHelper.createFromModule(ModuleHelper.java:53)
[teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.jdbc.EmbeddedProfile.createServerConnection(EmbeddedProfile.java:60)
[teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.jdbc.EmbeddedProfile.connect(EmbeddedProfile.java:50)
[teiid-client-8.7.1.redhat-8.jar:8.7.1.redhat-8]
... 35 more
Caused by: org.teiid.core.TeiidException: TEIID10036 org.teiid.net.ConnectionException:
TEIID40087 Passthrough authentication failed. No authentication information found.
at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:329)
[teiid-common-core-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:290)
[teiid-common-core-8.7.1.redhat-8.jar:8.7.1.redhat-8]
... 38 more
Caused by: org.teiid.net.ConnectionException: TEIID40087 Passthrough authentication
failed. No authentication information found.
at
org.teiid.transport.LocalServerConnection.authenticate(LocalServerConnection.java:132)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at
org.teiid.transport.LocalServerConnection.<init>(LocalServerConnection.java:99)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[rt.jar:1.7.0_45]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
[rt.jar:1.7.0_45]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[rt.jar:1.7.0_45]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
[rt.jar:1.7.0_45]
at org.teiid.core.util.ReflectionHelper.create(ReflectionHelper.java:327)
[teiid-common-core-8.7.1.redhat-8.jar:8.7.1.redhat-8]
... 39 more
Caused by: org.teiid.client.security.LogonException: TEIID40087 Passthrough
authentication failed. No authentication information found.
at org.teiid.transport.LogonImpl.logon(LogonImpl.java:153)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.transport.LogonImpl.logon(LogonImpl.java:117)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[rt.jar:1.7.0_45]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.7.0_45]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_45]
at
org.teiid.transport.LocalServerConnection$1$1.call(LocalServerConnection.java:170)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]
at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:274)
[teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:258)
[teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at
org.teiid.transport.LocalServerConnection$1.invoke(LocalServerConnection.java:168)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at com.sun.proxy.$Proxy94.logon(Unknown Source)
at
org.teiid.transport.LocalServerConnection.authenticate(LocalServerConnection.java:128)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
... 45 more
Caused by: javax.security.auth.login.LoginException: TEIID40087 Passthrough
authentication failed. No authentication information found.
at
org.teiid.services.SessionServiceImpl.passThroughLogin(SessionServiceImpl.java:214)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at
org.teiid.services.SessionServiceImpl.createSession(SessionServiceImpl.java:169)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
at org.teiid.transport.LogonImpl.logon(LogonImpl.java:133)
[teiid-runtime-8.7.1.redhat-8.jar:8.7.1.redhat-8]
... 57 more
{code}