浏览 294 次
|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2008-06-24
Tomcat 连接池写在server.xml里的数据用户以及密码都是明文,这样非常不安全的.最近看了网上一些关于TOMCAT 连接池数据库密码加密方法,感觉写的都不是很详细,自己研究了下,有些心得,写出来和大家共享一下.
首先,先去http://commons.apache.org/dbcp/ 下载commons-dbcp源码包,我下载的版本是1.2.2。commons-dbcp源码包要编译的话需要commons-pool,所以也要顺便下载commons-pool源码包,我下载的是1.4版本。我tomcat用的版本是Tomcat5.5.等下需要修改tomcat目录下的common\libnaming-factory-dbcp.jar.
上网搜索一段加解密的程序,将数据库密码的字段进行加密,获得密文.手动配置tomcat的连接池,注意连接池的password配置密文.
找到刚才下载的commons-dbcp源码包解压,找到BasicDataSourceFactory.java,这个类中PROP_PASSWORD会和连接池的password取得联系,所以现在要将他解密处理,修改这个BasicDataSourceFactory.java中的
value = properties.getProperty(PROP_PASSWORD);
if (value != null) {
dataSource.setPassword(value);
}
将PROP_PASSWORD进行解密处理,处理完保存后.然后再doc下ant commons-dbcp的build.xml进行编译.再将编译后的dbcp文件放在tomcat的naming-factory-dbcp.jar里,替换他原来的dbcp文件.
(编译commons-dbcp文件的时候要注意dbcp里的那些java的package和tomcat的naming-factory-dbcp.jar的dbcp路径要相符合,要不启动tomcat他会报找不到BasicDataSourceFactory.class)
启动tomcat,如果没报错的话就说明启动成功
声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-24
赫赫,这种方法不值得推广,适用范围很窄!
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-24
不怕了,本文献给有需要的朋友~~~~~~
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-24
好像用处不大,嘿嘿
|
|
| 返回顶楼 | |
|
最后更新时间:2008-06-27
天啊,这格式,都懒的看了。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-07-26
为什么不 extends BasicDataSource 然后覆盖 setPassword(String passwd) 方法呢?
|
|
| 返回顶楼 | |




