Spring+Hibernate 数据库配置信息的加密
来源:互联网 发布:天庭淘宝城在线txt下载 编辑:程序博客网 时间:2024/05/17 22:51
在hibernate.cfg.xml中,用户和密码是明文存放的,存放某些安全问题,可以重写dataSource类来实现对配置信息加密的解密方法
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /></bean>
比如这个配置中我们需要重写org.springframework.jdbc.datasource.DriverManagerDataSource
这个类继承于AbstractDriverBasedDataSource
可以写个类继承AbstractDriverBasedDataSource,重写里面的方法
比如用户、密码照着DriverManagerDataSource改掉相应的方法
/** * Create a new DriverManagerDataSource with the given standard * DriverManager parameters. * @param url the JDBC URL to use for accessing the DriverManager * @param username the JDBC username to use for accessing the DriverManager * @param password the JDBC password to use for accessing the DriverManager * @see java.sql.DriverManager#getConnection(String, String, String) */ public DriverManagerDataSource(String url, String username, String password) { setUrl(url); setUsername(username); setPassword(password); } /** * Create a new DriverManagerDataSource with the given JDBC URL, * not specifying a username or password for JDBC access. * @param url the JDBC URL to use for accessing the DriverManager * @param conProps JDBC connection properties * @see java.sql.DriverManager#getConnection(String) */ public DriverManagerDataSource(String url, Properties conProps) { setUrl(url); setConnectionProperties(conProps); }
修改后
/** * Create a new DriverManagerDataSource with the given standard * DriverManager parameters. * @param url the JDBC URL to use for accessing the DriverManager * @param username the JDBC username to use for accessing the DriverManager * @param password the JDBC password to use for accessing the DriverManager * @see java.sql.DriverManager#getConnection(String, String, String) */ public DriverManagerDataSource(String url, String username, String password) { setUrl(url); setUsername(DesEncrypter.getInstance().decrypt(username)); setPassword(DesEncrypter.getInstance().decrypt(password)); } /** * Create a new DriverManagerDataSource with the given JDBC URL, * not specifying a username or password for JDBC access. * @param url the JDBC URL to use for accessing the DriverManager * @param conProps JDBC connection properties * @see java.sql.DriverManager#getConnection(String) */ public DriverManagerDataSource(String url, Properties conProps) { setUrl(url); if(conProps.containsKey("user")){ conProps.setProperty("user", DesEncrypter.getInstance().decrypt(conProps.getProperty("user"))); } if(conProps.containsKey("password")){ conProps.setProperty("password", DesEncrypter.getInstance().decrypt(conProps.getProperty("password"))); } setConnectionProperties(conProps); }
最后把dataSource改为重写的类
<bean id="dataSource" class="com.ht.platform.datasource.DriverManagerDataSource">
PS:如果使用第三方的连接器,CustomDriverManagerConnectionProvider则需要继承于相应的连接器,如C3P0ConnectionProvider
0 0
- Spring+Hibernate 数据库配置信息的加密
- spring+jpa配置加密的数据库信息
- hibernate配置数据库加密
- struts2+hibernate+spring的配置信息
- spring +hibernate对数据库配置信息加解密(DBCP)
- spring配置文件applicationContext.xml配置hibernate的连接数据库信息及sessionFactory创建方式
- 在Spring框架下对数据库连接的配置信息加密
- spring boot 配置数据库加密
- ssh整合:将hibernate的配置信息,配置到Spring的配置文件中(Spring整合hibernate)
- Spring“黑科技”---实现数据库信息加密
- Hibernate的配置信息
- hibernate的配置——数据库的基本连接信息
- spring 配置中,数据库相关信息如何加密放在属性文件中
- 通过Hibernate配置获取数据库表的具体信息
- 通过Hibernate配置获取数据库表的具体信息
- 加密配置节的信息
- Spring温习(9)--配置hibernate信息
- spring 配置数据源 hibernate等信息
- 关于git的升级 简单回滚和删除远程服务器中本地已经删掉的文件
- String.format()用法大全 (字符串拼接)
- Mac 配置android NDK环境
- 平衡查找树之B树
- centos下把python版本升级成2.7
- Spring+Hibernate 数据库配置信息的加密
- 每日五题(随记)
- 有方向的运动js
- 性能测试工具Loadrunner中监控指标的名词解释
- Nginx+Tomcat搭建高性能负载均衡集群
- shell简介
- interface abstract 区别
- [Leetcode] Product of Array Except Self
- ECSHOP设置默认配送方式和默认支付方式