spring boot 配置檔案加解密原理就這麼簡單
接上文《失蹤人口回歸,mybatis-plus 3.3.2 發布》[1] ,提供了乙個非常實用的功能 「資料安全保護」 功能,不僅支援資料來源的配置加密,對於 spring boot 全域性的 yml /properties 檔案均可實現敏感資訊加密功能,在一定的程度上控制開發人員流動導致敏感資訊洩露。
// 資料來源敏感資訊加密
spring:
datasource:
url: mpw:qrhvcwf4go**esseb3g+a5okp+uxxr96wcucn2pev6bfaoemz1**ppphddmjqqom
password: mpw:hzy5ilijbwdhhjls1l0j6w==
username: mpw:xb+egsyuyrxw7u7sbjjbpa==
// 資料來源敏感資訊加密
spring:
redis:
password: mpw:hzy5ilijbwdhhjls1l0j6w==
我們翻開 spring boot 官方文件,翻到 4.2.6 章節 spring boot 不提供對加密屬性值的任何內建支援,但是提供修改 spring 環境中包含的值所必需的擴充套件點 environmentpostprocessor 允許在應用程式之前操作環境屬性值
public class safetyencryptprocessor implements environmentpostprocessor
} //處理加密內容(獲取到原有配置,然後解密放到新的map 裡面(key是原有key))
hashmapmap = new hashmap<>();
for (propertysource> ps : environment.getpropertysources()) }}
}} // 將解密的資料放入環境變數,並處於第一優先順序上 (這裡一定要注意,覆蓋其他配置)
if (!map.isempty())
}}
resources/meta-inf/spring.factories 配置 spi
org.springframework.boot.env.environmentpostprocessor=\
com.baomidou.mybatisplus.autoconfigure.safetyencryptprocessor
mybatis-plus 預設是讀取啟動引數,可以在此處可以根據自己需求修改為更安全的根金鑰儲存。
system.getproperty("mpw.key")
// 此處思路,參考 druid configfilter
Spring Boot讀取配置檔案與配置檔案優先順序
spring boot讀取配置檔案 package com.ivan.config.controller import org.springframework.beans.factory.annotation.autowired import org.springframework.core.env...
Spring Boot 菜鳥教程 28 多配置檔案
src scrolling 0 width 110 height 20 開發過程中可能會有如下需求 開發和部署的配置資訊可能不同,常規的方式就是在配置檔案裡面先寫好開發配置,在部署的時候再去修改這些配置,這樣可能會出現很多問題,比如使用者名稱 密碼忘記了修改或者改錯了等問題。author je哥 e...
SpringBoot之配置檔案YAML檔案簡單介紹
1.基本語法 k 空格 v 表示一對鍵值對,空格必須有 例如 lucy前方要有空格 name lucy以空格縮排控制層級關係,左對齊屬性表示同一級別 person name fangxinde age 28 job 大資料 server port 80802.值的寫法 1 字面量的表示方法 字串預設...