Bir entegrasyon testi için EAR Benim özel bir rolle farklı kullanıcılara giriş yapabilmek için Wildfly'ime ihtiyacım var. Wildfly Kullanıcı Adı ve Rolü ile Oturum Açın
org.jboss.security.auth.spi.SimpleServerLoginModule
bana farklı kullanıcılara Yani besbelli farklı bir şey kullanmak gerekir
izin vermeyen bir rol
org.jboss.security.auth.spi.IdentityLoginModule
belirtmek izin vermez. Böyle geçici bir veritabanı kullanmaya çalıştı: <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>
... Veee:
<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>
JBoss tutorial önerildiği gibi. Hala müşterileri için aşağıdaki özel durum almak:
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 dakika sonra (Ben herhangi bir değişiklikten haberdar değilim) var: Ben rol gerektiğinde
all available authentication mechanisms failed
(Bu noktaya kadar sağ çalıştı Bu yüzden istemci tarafında kurulumun tamam olduğunu düşünüyorum.)
Neyi yanlış yaptım? Wildfly'i en azından istisnalar veya bir şey göstermesi için nasıl alabilirim, böylece sorunu ayıklayabilirim? Wilfly'i farklı kullanıcılara özel bir rol ile tanıtma konusunda daha iyi bir yol var mı?
Teşekkürler, ancak mümkünse bir veritabanına sahip olmak istemiyorum çünkü bu, kurulumu çok daha karmaşık hale getirecektir. –