> 文章列表 > mybatis-plus mpw 基于nacos-配置中心失效问题解决。

mybatis-plus mpw 基于nacos-配置中心失效问题解决。

mybatis-plus mpw 基于nacos-配置中心失效问题解决。

先谈谈个人理解:

        配置中心下的配置加密做不做其实意义不大。

        1、首先nacos console 内网化,受到攻击概率很低

        2、加密后,各namespace 下的配置信息查看不友好。增加开发成本

        3、对称加密既然组员都有密码了,还谈何来的秘密。

        4、有人说用于生产环境会好,真正的生产环境,肯定是各种规矩,各种路由,各种监控,各种安全认证,各种blablabla,db多备,风控,多方协调,不是单单的加密问题就能解决的。

扯远了,说说正事,

问题追踪:

mybatis-plus 提供的解密yml配置用到的类:

在nacos中不起作用的原因是:

safety在启动时,优先执行jar包及系统参数的Properties解密,但所有的配置中心里配置数据拿不到造成了解密寂寞 。容易造成 dataType url 为null  ,mpw:xxxxxx识别不到

解决思路:

在nacos 拿到配置数据后执行。

PropertySourceBootstrapConfiguration 类。该类基于是基于SPI机制引入的

 原本是只有nacos 相关解析

在解析完毕后 对于naco 封好的 bootstrapProperits 及其他properites 进行混合。

最后在执行 insertPropertySource 将所有配置融合进 ConfigurableEnvironment 中

。最终让系统生效

nacos 加载细节这块是作者之前失败之路,aop,替换原有 environment中变量 发现都不行。可能因为 prop 有cache。下述nacos拉取配置中心数据进行 properties 混合的实现

 

 

上代码

第一步:写代码

 

第二步:

填写 spi参数

 

 第三步:

失败的启动

 

 成功的启动

所有加密参数成功解析,启动成功

玩不转的可以留言