Problema com JMS no modo Domain - JBoss EAP 6.2.3
marco.simoes Jul 15, 2014 11:05 AMPessoal,
Estou com um problema na autenticação da fila JMS no modo Domain.
No meu ambiente eu possuo um JBoss EAP 6.2.3 como Domain Controller sem nenhum servidor associado, e em outra máquina eu tenho um Host Controller com um servidor associado no profile FULL.
Criei uma fila JMS com o nome "testQueue".
Quando eu crio um Client para enviar menssagens para a fila, apontando para o server do Host Controller na porta 4447 eu não consigo me autenticar e o seguinte erro acontece:
Error |
---|
ERROR: JBREM000200: Remote connection failed: javax.security.sasl.SaslException: Authentication failed: all available authentication mechanisms failed Exception in thread "main" javax.naming.NamingException: Failed to connect to any server. Servers tried: [remote://192.168.56.80:4447] at org.jboss.naming.remote.client.HaRemoteNamingStore.failOverSequence(HaRemoteNamingStore.java:213) at org.jboss.naming.remote.client.HaRemoteNamingStore.namingStore(HaRemoteNamingStore.java:144) at org.jboss.naming.remote.client.HaRemoteNamingStore.namingOperation(HaRemoteNamingStore.java:125) at org.jboss.naming.remote.client.HaRemoteNamingStore.lookup(HaRemoteNamingStore.java:241) 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 com.teste.jms.QueueSend.init(QueueSend.java:35) at com.teste.jms.QueueSend.main(QueueSend.java:65) |
No meu Domain Contorller eu adicionei corretamente um usuário de ApplicationRealm, mas no meu Host Controller eu não adicionei nenhum usuário.
O problema é resolvido quando eu adiciono o usuário no Host Controller, mas gostaria de utilizar uma solução onde não fosse necessário criar usuários nos Host Controlers e utilizar apenas os usuários criados no Domain Controller.
Tentei a solução abaixo, mas não tive sucesso:
Domain.xml |
---|
<subsystem xmlns="urn:jboss:domain:remoting:1.1"> <connector name="remoting-connector" socket-binding="remoting" security-realm="JMSRealm"/> </subsystem>
<subsystem xmlns="urn:jboss:domain:security:1.2"> <security-domains>
<security-domain name="jms-security-domain" cache-type="default"> <authentication> <login-module code="Remoting" flag="optional"> <module-option name="password-stacking" value="useFirstPass"/> </login-module> <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required"> <module-option name="defaultUsersProperties" value="${jboss.server.config.dir}/application-users.properties"/> <module-option name="defaultRolesProperties" value="${jboss.server.config.dir}/application-roles.properties"/> <module-option name="usersProperties" value="${jboss.server.config.dir}/application-users.properties"/> <module-option name="rolesProperties" value="${jboss.server.config.dir}/application-roles.properties"/> <module-option name="password-stacking" value="useFirstPass"/> </login-module> </authentication> </security-domain> .... |
host.xml |
---|
<security-realm name="JMSRealm"> <authentication> <jaas name="jms-security-domain"/> </authentication> </security-realm> |
Alguem tem alguma idéia de como criar um security Realm para utilizar apenas os usuários do Domain Controller ?
Vlw.