JBossの5.0.0.GAデータソースのセキュリティドメインおよびログイン-config.xmlの
-
19-09-2019 - |
質問
二つの異なるDBMS(MS-SQLServerのとInformix)のために私たちのデータソースは、login-config.xmlファイル内のセキュリティ・ドメイン構成を拾っていない問題に実行します。
私たちのデータソースは次のようになります:
<datasources>
<local-tx-datasource>
<jndi-name>ourTX</jndi-name>
<connection-url>jdbc:informix-sqli://our.server.com:1526/wlms:informixserver=ol_db</connection-url>
<driver-class>com.informix.jdbc.IfxDriver</driver-class>
<security-domain>ourDS</security-domain>
<!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml (optional) -->
<metadata>
<type-mapping>InformixDB</type-mapping>
</metadata>
<min-pool-size>5</min-pool-size>
<max-pool-size>50</max-pool-size>
<prefill>yes</prefill>
<prepared-statement-cache-size>10</prepared-statement-cache-size>
<idle-timeout-minutes>5</idle-timeout-minutes>
<new-connection-sql>set lock mode to wait 4;set isolation to cursor stability;</new-connection-sql>
<check-valid-connection-sql>SELECT count(*) FROM dummy;</check-valid-connection-sql>
</local-tx-datasource>
</datasources>
そして私達のログイン-config.xmlには、次のエントリがあります:
<application-policy name="ourDS">
<authentication>
<login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">
<module-option name="userName">user</module-option>
<module-option name="password">-4e5f8b6c4217c342c03b57ed16d31678</module-option>
<module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=ourTX</module-option>
</login-module>
</authentication>
</application-policy>
JBossサーバが展開された後しかし、我々はInformixのため、このようなエラーが表示されます。
13:23:13,521 WARN [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (java.sql.SQLException: Incorrect password or user com.informix.asf.IfxASFRemoteException: user@my.computer.com is not known on the database server.)
そしてMS-SQLServerのために、私たちがどのように見えるのInformixのようなエラーを取得します:
13:25:23,053 WARN [JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could not create connection; - nested throwable: (com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user ''. The user is not associated with a trusted SQL Server connection.)
今ならば、我々は* -ds.xmlファイル内のセキュリティ・ドメインの要素をコメントアウトして、単純なユーザー名とクリアテキストのパスワード、両方のデータベースエンジンとの両方のデータソースの作業に置き換えます。私たちは、JBossで「すべて」のサーバー構成を使用しています。私たちは、ログイン-config.xmlには、起動時にロードされてきていることを確認し作りました。そして、セキュリティ・ドメインの要素を使用してhqsqldb-ds.xmlファイルで動作します。しかし、ログイン-config.xmlのに私達の付加アプリケーション・ポリシーを使用して、新しい接続を確立するときにデータソースが値を取得していないと思われます。
私たちが間違ってやっている任意のアイデア?私たちが何かを逃したことがありますか?
解決
私たちは、管理コンソールを通じてデータソースの有効性をテストしました。我々は、データベースをテストした場所のため、このは、JBoss EAP 5.0.0.GAバージョンのバグです。確認されていないが、また5.0.1.GA多分5.0.2.GAのための管理コンソールではなく、バグであります。
上記のすべてが実際に働いていた。