编码技巧——Springboot工程加密yml配置/Maven引入本地二方包

  1. 背景

基于Springboot的工程项目,通常很多信息都是在application.yml中直接明文配置的,比如数据库链接信息,redis链接信息等;

为了安全考虑,公司打算将yml配置文件中的数据库连接信息的账号,密码进行加密!

公司有开发相关的安全规定,要求对源代码工程中所有的敏感信息进行加密,包括代码和配置文件,防止密码泄露;

实际上没太大必要------咋办呢,有专员检查,做还是得做;

  1. 方案

初步想了下方案,有2种:

(1)依赖配置中心

一般来说,配置中心实现了业务配置的在线管理,能实时查看修改业务配置,不需要重启项目;

其原理是维护本地和远程配置中心的长连接,本地监听远程配置的变更,刷新本地配置的缓存;

常见的有nacos、apollo之类的;

(2)基于Springboot框架

在spring工程启动时,会读取yml文件中的配置到配置对象中;在这一步,可以切入,引入加解密工具库;

实际上,刚好有这么一个常用的库来解决这个问题------Jasypt这个库为我们解决了这个问题,实现了springboot配置的自定加密加密;

本次由于工程是轻量级,未使用远程配置中心中间件,因此为了快速解决问题,使用轻量级的方案------即引入Jasypt对yml配置加密;

  1. Maven引入本地二方包

在准备使用Jasypt时,去maven仓库搜索maven坐标,发现公司的仓库并没有引入这个包,需要自己去公网公网下载Jasypt库相关的jar包;

所以先要解决的问题是------如何在maven工程中引入本地二方包?方案可以参考:

相关推荐
刘大浪1 分钟前
后端数据增删改查基于Springboot+mybatis mysql 时间根据当时时间自动填充,数据库连接查询不一致,mysql数据库连接不好用
数据库·spring boot·mybatis
Rverdoser26 分钟前
RabbitMQ的基本概念和入门
开发语言·后端·ruby
攻心的子乐31 分钟前
shell脚本启动springboot项目
spring boot
程序媛-徐师姐1 小时前
Java 基于SpringBoot+vue框架的老年医疗保健网站
java·vue.js·spring boot·老年医疗保健·老年 医疗保健
尘浮生1 小时前
Java项目实战II基于微信小程序的校运会管理系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
Tech Synapse1 小时前
Java根据前端返回的字段名进行查询数据的方法
java·开发语言·后端
.生产的驴1 小时前
SpringCloud OpenFeign用户转发在请求头中添加用户信息 微服务内部调用
spring boot·后端·spring·spring cloud·微服务·架构
微信-since811921 小时前
[ruby on rails] 安装docker
后端·docker·ruby on rails
是老余2 小时前
本地可运行,jar包运行错误【解决实例】:通过IDEA的maven package打包多模块项目
java·maven·intellij-idea·jar
crazy_wsp2 小时前
IDEA怎么定位java类所用maven依赖版本及引用位置
java·maven·intellij-idea