gpt4 book ai didi

database - JBoss 5.0.0.GA 数据源安全域和登录配置.xml

转载 作者:搜寻专家 更新时间:2023-10-30 21:37:36 24 4
gpt4 key购买 nike

遇到一个问题,我们的两个不同 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>

我们的 login-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 文件中注释掉 security-domain 元素并将其替换为简单的用户名和明文密码,则两个数据源都可以与两个数据库引擎一起使用。我们在 JBoss 中使用“所有”服务器配置。我们确保在启动时加载 login-config.xml。并且使用 security-domain 元素的 hqsqldb-ds.xml 有效。但是使用我们添加的 application-policy 到 login-config.xml,似乎数据源在建立新连接时没有获取值。

知道我们做错了什么吗?我们错过了什么吗?

最佳答案

我们正在通过管理控制台测试数据源的有效性。由于我们测试数据库的位置,这是 JBoss EAP 5.0.0.GA 版本中的错误。虽然尚未确认,但也可能是 5.0.1.GA 和 5.0.2.GA 的管理控制台中的错误。

上面的一切实际上都在工作。

关于database - JBoss 5.0.0.GA 数据源安全域和登录配置.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2435269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com