项目要求给数据库连接配置文件(jdbc.properties)中账号密码优化处理

本文介绍了一种通过覆写PropertyPlaceholderConfigurer方法,实现对数据库配置文件中敏感信息如用户名和密码的保护策略,避免了在部署过程中可能发生的敏感信息泄露。
部署运行你感兴趣的模型镜像

由于项目发布服务器是打包成war包发布,其中jdbc.properties等配置文件存在数据库密码泄露问题,查阅资料后get一个小方法避免面泄露问题,特此记录一波


我们项目中经常使用到的数据库配置文件(spring-mybatis.xml)如下
这里写图片描述


这里写图片描述


这里会有一个致命的问题,如果有一个具备中间件服务器机器访问权限的人,看到了这个例如(jdbc.properties)的文件,并且打开该文件,智商再低下的人也会知道数据库的用户名和密码是什么。这对于对安全有一定要求的行业是必须杜绝的,这个也是在一般技术面试中会问到的一个问题。那就让我们继续往下,解答这个问题吧!


如何将jdbc.properties变成一个看不明白的字符呢?我们只需要覆写类PropertyPlaceholderConfigurer中的方法convertProperty就可以了,如下:


package com.cht.oneoperation.fileUtils;

import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;

/** 
 * 读取数据库连接配置文件并将获取到的账号密码更改为正确账户密码
 * @author 创建作者 : LY
 * @date   创建时间 :2018年08月14日 下午14:57:32
 */
public class MyJdbcPropertiesPswConfig extends PropertyPlaceholderConfigurer {
    @Override
    protected String convertProperty(String propertyName, String propertyValue) {
//      System.out.println("===>" + propertyName + ":" + propertyValue);
        if ("username".equals(propertyName)) {
            return "root";
        }

        if ("password".equals(propertyName)) {
            return "admin@001";
        }
        return propertyValue;
    }
}


然后将上面完成的类的完全限定名替换配置文件中的PropertyPlaceholderConfigurer
这里写图片描述


更改后启动服务器使用的并不是jdbc.propertieskey值为username=rootpassword=123456后面的值,而是使用替换后的username=rootpassword=admin@001 去进行访问数据库的

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值