4 Replies Latest reply on Apr 17, 2014 11:28 AM by johanvankampen

    javax.naming.AuthenticationException: Failed to connect to any server. Servers tried: [http-remoting://127.0.0.1:8080 (Authentication failed: all available authentication mechanisms failed:)

    johanvankampen

      I am trying use LDAP based authentication and authorization for inbound JMS connections.

       

      As long as I use the default 'ApplicationRealm' it works fine. However, configuring a LDAP based connection I get above mentioned error.

       

      My config looks like :

      <security-realm name="RemoteRealm">

                      <authentication>

                          <ldap connection="H2ldap" base-dn="ou=users,dc=hydrogenic,dc=local">

                              <username-filter attribute="uid"/>

                          </ldap>

                      </authentication>

                      <authorization>

                          <ldap connection="H2ldap">

                              <username-to-dn force="true">

                                  <username-filter base-dn="ou=users,dc=hydrogenic,dc=local" recursive="false" attribute="uid" user-dn-attribute="dn" />

                              </username-to-dn>

                              <group-search group-name="SIMPLE" iterative="false" group-dn-attribute="dn" group-name-attribute="cn">

                                  <group-to-principal base-dn="ou=groups,dc=hydrogenic,dc=local" recursive="false" search-by="DISTINGUISHED_NAME">

                                      <membership-filter principal-attribute="member" />

                                  </group-to-principal>

                              </group-search>

                          </ldap>

                      </authorization>              

                  </security-realm>

             </security-realms>

              <outbound-connections>

                  <ldap name="H2ldap" url="ldap://ldap-dev" search-dn="cn=admin,dc=hydrogenic,dc=local" search-credential="XXXXXXX"/>

              </outbound-connections>

       

      I also changed the 'remoting' subsystem :

              <subsystem xmlns="urn:jboss:domain:remoting:2.0">

                  <endpoint worker="default"/>

                  <http-connector name="http-remoting-connector" connector-ref="default" security-realm="RemoteRealm"/>

              </subsystem>

       

      I am pretty sure the config of the 'RemoteRealm' is correct because it is exactly the same as a good working management-realm.

       

      In the security-settings I changed the roles to a group of the user :

                      <security-settings>

                          <security-setting match="#">

                              <permission type="send" roles="systeem-accounts"/>

                              <permission type="consume" roles="systeem-accounts"/>

                              <permission type="createNonDurableQueue" roles="guest"/>

                              <permission type="deleteNonDurableQueue" roles="guest"/>

                          </security-setting>

                      </security-settings>

       

      Do I forget a step?

       

       

      Stacktrace:

      javax.naming.AuthenticationException: Failed to connect to any server. Servers tried: [http-remoting://127.0.0.1:8080 (Authentication failed: all available authentication mechanisms failed:)] [Root exception is javax.security.sasl.SaslException: Authentication failed: all available authentication mechanisms failed:]

        at org.jboss.naming.remote.client.HaRemoteNamingStore.failOverSequence(HaRemoteNamingStore.java:238)

        at org.jboss.naming.remote.client.HaRemoteNamingStore.namingStore(HaRemoteNamingStore.java:149)

        at org.jboss.naming.remote.client.HaRemoteNamingStore.namingOperation(HaRemoteNamingStore.java:130)

        at org.jboss.naming.remote.client.HaRemoteNamingStore.lookup(HaRemoteNamingStore.java:272)

        at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:79)

        at org.jboss.naming.remote.client.RemoteContext.lookup(RemoteContext.java:83)

        at javax.naming.InitialContext.lookup(InitialContext.java:411)

        at nl.h2.utils.logging.LogMessageProducer.init(LogMessageProducer.java:60)

        at nl.h2.utils.logging.LogMessageProducer.<clinit>(LogMessageProducer.java:35)

        at nl.h2.utils.logging.LoggingAspect.logBefore(LoggingAspect.java:18)

        at nl.h2.ovodav.dri.ejb.DossierReferentieIndexEJB.isDossierAanwezig(DossierReferentieIndexEJB.java:53)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)

        at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)

        at org.apache.openejb.cdi.CdiInterceptor.invoke(CdiInterceptor.java:126)

        at org.apache.openejb.cdi.CdiInterceptor.access$000(CdiInterceptor.java:42)

        at org.apache.openejb.cdi.CdiInterceptor$1.call(CdiInterceptor.java:63)

        at org.apache.openejb.cdi.CdiInterceptor.aroundInvoke(CdiInterceptor.java:69)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)

        at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)

        at org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:176)

        at org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:95)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:181)

        at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:163)

        at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:138)

        at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:239)

        at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:191)

        at org.apache.openejb.core.ivm.EjbObjectProxyHandler.synchronizedBusinessMethod(EjbObjectProxyHandler.java:246)

        at org.apache.openejb.core.ivm.EjbObjectProxyHandler.businessMethod(EjbObjectProxyHandler.java:241)

        at org.apache.openejb.core.ivm.EjbObjectProxyHandler._invoke(EjbObjectProxyHandler.java:83)

        at org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:279)

        at com.sun.proxy.$Proxy67.isDossierAanwezig(Unknown Source)

        at nl.h2.ovodav.dri.ejb.DossierReferentieIndexEJBTest.testIsAanwezig(DossierReferentieIndexEJBTest.java:75)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)

        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)

        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)

        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)

        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)

        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)

        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)

        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)

        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)

        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)

        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)

        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)

        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)

        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)

        at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)

        at org.junit.runners.ParentRunner.run(ParentRunner.java:300)

        at org.junit.runners.Suite.runChild(Suite.java:128)

        at org.junit.runners.Suite.runChild(Suite.java:24)

        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)

        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)

        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)

        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)

        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)

        at org.junit.runners.ParentRunner.run(ParentRunner.java:300)

        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:234)

        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:133)

        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:114)

        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

        at java.lang.reflect.Method.invoke(Method.java:606)

        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)

        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)

        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)

        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)

        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)

      Caused by: javax.security.sasl.SaslException: Authentication failed: all available authentication mechanisms failed:

        at org.jboss.remoting3.remote.ClientConnectionOpenListener.allMechanismsFailed(ClientConnectionOpenListener.java:113)

        at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:433)

        at org.jboss.remoting3.remote.ClientConnectionOpenListener$Capabilities.handleEvent(ClientConnectionOpenListener.java:240)

        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)

        at org.xnio.channels.TranslatingSuspendableChannel.handleReadable(TranslatingSuspendableChannel.java:196)

        at org.xnio.channels.TranslatingSuspendableChannel$1.handleEvent(TranslatingSuspendableChannel.java:110)

        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)

        at org.xnio.ChannelListeners$DelegatingChannelListener.handleEvent(ChannelListeners.java:1092)

        at org.xnio.ChannelListeners.invokeChannelListener(ChannelListeners.java:92)

        at org.xnio.conduits.ReadReadyHandler$ChannelListenerHandler.readReady(ReadReadyHandler.java:66)

        at org.xnio.nio.NioSocketConduit.handleReady(NioSocketConduit.java:87)

        at org.xnio.nio.WorkerThread.run(WorkerThread.java:531)

        at ...asynchronous invocation...(Unknown Source)

        at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:272)

        at org.jboss.remoting3.EndpointImpl.doConnect(EndpointImpl.java:253)

        at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:351)

        at org.jboss.remoting3.EndpointImpl.connect(EndpointImpl.java:335)

        at org.jboss.naming.remote.client.EndpointCache$EndpointWrapper.connect(EndpointCache.java:111)

        at org.jboss.naming.remote.client.HaRemoteNamingStore.failOverSequence(HaRemoteNamingStore.java:197)

        ... 84 more