Pour un test d'intégration EAR, j'ai besoin de mon Wildfly pour pouvoir connecter différents utilisateurs avec un rôle spécifique.Wildfly Connexion avec nom d'utilisateur et rôle
org.jboss.security.auth.spi.SimpleServerLoginModule
ne me permet pas de préciser un rôleorg.jboss.security.auth.spi.IdentityLoginModule
ne permet pas différents utilisateurs
donc évidemment je dois utiliser quelque chose de différent. J'ai essayé d'utiliser une base de données temporaire comme ceci:
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule"
flag="required">
<module-option name="dsJndiName" value="java:/AcmeDS" />
<module-option name="principalsQuery" value="SELECT ?" />
<module-option name="rolesQuery" value="SELECT 'my_role', 'Roles'" />
<module-option name="password-stacking" value="useFirstPass" />
</login-module>
... aaand:
<datasources>
<datasource jndi-name="java:/AcmeDS" pool-name="AcmeDS" enabled="true">
<connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1</connection-url>
<driver>h2</driver>
<pool>
<min-pool-size>10</min-pool-size>
<max-pool-size>20</max-pool-size>
<prefill>true</prefill>
</pool>
<security>
<user-name>sa</user-name>
<password>sa</password>
</security>
</datasource>
<drivers>
<driver name="h2" module="com.h2database.h2">
<xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
</driver>
</drivers>
</datasources>
Comme suggéré dans le JBoss tutorial. Cependant, je reçois l'exception suivante pour les clients:
java.lang.RuntimeException: javax.security.sasl.SaslException: Authentication failed: the server presented no authentication mechanisms
at org.jboss.ejb.client.remoting.IoFutureHelper.get(IoFutureHelper.java:92)
at org.jboss.ejb.client.remoting.ConnectionPool.getConnection(ConnectionPool.java:77)
at org.jboss.ejb.client.remoting.RemotingConnectionManager.getConnection(RemotingConnectionManager.java:51)
at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.setupEJBReceivers(ConfigBasedEJBClientContextSelector.java:155)
at org.jboss.ejb.client.remoting.ConfigBasedEJBClientContextSelector.getCurrent(ConfigBasedEJBClientContextSelector.java:115)
5 minutes plus tard, je suis arrivé (je ne suis pas au courant de tout changement): all available authentication mechanisms failed
(Il a travaillé droit jusqu'au point où je besoin d'un rôle , donc je suppose que la configuration pour le côté client est correct.)
Qu'est-ce que j'ai fait Je me trompe? Comment puis-je faire en sorte que le Wildfly affiche au moins des exceptions ou quelque chose pour que je puisse déboguer le problème? Existe-t-il un meilleur moyen d'amener le Wilfly à reconnaître différents utilisateurs avec un rôle spécifique?
Merci, mais je ne veux pas vraiment avoir une base de données si possible, car cela rendrait l'installation beaucoup plus complexe. –