Jboss配置之数据源密码配置密文--EncryptingDataSourcePasswords

时间:2023-12-01 15:14:44

local-tx-datasource:
最常用的数据源配置,该连接池的连接管理器是LocalTxConnectionManager,只支持本地事务,不适合做分布式事务。
以mssql为例如下:
如果密码按明文配置应该是:

AMSSQLDBJNDI
jdbc:JSQLConnect://192.168.101.26:1433/database=MSSQLDB
com.jnetdirect.jsql.JSQLDriver
username
password
50
200

这种配置当然能完成数据源的配置,但是数据库的密码直接 暴露给了系统的操作员、维护人员,增加了数据库不安全的因素。
但是不用担心,jboss本身提供了对密码进行加密的工具org.jboss.resource.security.SecureIdentityLoginModule
操作方法:进入JBOSS_HOME 然后按classpath 执行这个加密工具就ok了.

具体做法:

1.生成密文:

a)         cd D:\User\80002139\Downloads\jboss-4.2.3.GA

b)         java –cp "lib/jboss-jmx.jar;lib/jboss-common.jar;

server/default/lib/jboss-jca.jar;server/default/lib/jbosssx.jar" org.jboss.resource.security.SecureIdentityLoginModule password

c)         密码password 加密后:-1234567890123456789012345677

2.在/app/jboss/jboss-as/server/ALOMS_CORE_CNSZ22_JBOSS_APP_01/conf/login-config.xml文件<policy>标签下加以下:

<application-policy name="security-domain-alomsdb">                  <!--oracle-ds.xml security-domain-->

<authentication>

<login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">

<module-option name = "username">username</module-option>

<module-option name = "password">-1234567890123456789012345677</module-option>

<module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=alomsdb</module-option><!-- oracle-ds.xml jndi-name -->

</login-module>

</authentication>

</application-policy>

3. /app/war/ALOMS_CORE_CNSZ22_JBOSS_APP_01/pkg/oracle-ds.xml文件中加数据源:

<datasources>

<local-tx-datasource>

<jndi-name>alomsdb</jndi-name>

<use-java-context>false</use-java-context>

<connection-url>jdbc:oracle:thin:@alomssit.dbsit.sfdc.com.cn:1521:alomssit</connection-url>

<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>

<security-domain>security-domain-alomsdb</security-domain>

<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>

<metadata>

<type-mapping>Oracle11g</type-mapping>

</metadata>

</local-tx-datasource>

</datasources>