一、取消节点(default或node1等)目录下的deploy目录中的*-ds.xml文件(比如mysql-ds.xml)里datasources中user-name和password属性,添加属性:security-domain,
<security-domain>EncryptDBPassword</security-domain>
二、在节点(default或node1等)目录下的conf目录中的login-config.xml添加以下内容:
<application-policy name="EncryptDBPassword"> <!–这里的name应该是你在配置数据源时写的security-domain里的字符串 –>
<authentication>
<login-module code="org.jboss.resource.security.SecureIdentityLoginModule"
flag="required">
<module-option name="username">root</module-option> <!–数据库的用户名:root –>
<module-option name="password">64c5fd2979a86168</module-option> <!– 数据库的密码,不过是加密过的了:123456对应的是64c5fd2979a86168 –>
<module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=jdbc/mysqlds</module-option> <!–注意name等于你的数据源的jndi-name,这里是MySqlDS –>
</login-module>
</authentication>
</application-policy>
三、重启jboss服务器。
补充:
password来自于使用以下命令(不换行)得到:
java -cp "jbosssx.jar;jboss-jmx.jar;jboss-common.jar;jboss-jca.jar" org.jboss.resource.security.SecureIdentityLoginModule 123456
其中上面的4个jar文件分别来自(本人测试用的jboss版本是4.2.3时间:20121111):
jboss4.2.3\lib\jboss-jmx.jar;
jboss4.2.3\lib\jboss-common.jar;
jboss4.2.3\default\lib\jboss-jca.jar;
jboss4.2.3\default\lib\jbosssx.jar
本文发表在本人新独立博客的站点,地址是:http://sagacitytree.org/?p=131,欢迎莅临。