Mule 4安全属性占位符无法工作

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (22)

这是我的配置,我已经定义了我的属性文件,即dev.properties,它有一些加密值。我已经定义了我的安全属性占位符但它不起作用

<global-property doc:name="Global Property" doc:id="7080a89f-d39c-485d-99c4-b35337ab62c4" name="env" value="dev" />
    <global-property doc:name="Global Property" doc:id="5d1fb026-a34f-490f-9b50-7a9bcb5cdf83" name="enc.key" value="password" />
    <configuration-properties doc:name="Configuration properties"
        doc:id="7448fcf9-e3ef-41b4-879e-9551ab99aa29" file="properties/${env}.properties" />
        <secure-properties:config name="Secure_Properties_Config" doc:name="Secure Properties Config" doc:id="0bbad3ed-42bb-4e13-bc88-e9c1fc6d21f4" file="properties/${env}.properties" key="${enc.key}"  >
    </secure-properties:config>

我使用AES算法使用值密码加密。但是它无法使用提供的配置解密这些值。

提问于
用户回答回答于

首先,您使用configuration-properties然后再次使用加载相同的属性文件secure-properties。仅使用s加载文件一次(ecure-properties如果包含)secure-properties

其次,您需要使用${secure:myProp.someProp}语法来读取安全属性,而不仅仅是${myProp.someProp}

如果您使用相同的文件来获取安全和非安全属性,则仍必须使用${secure:myProp.someProp}非安全属性。

因此,最佳做法是将属性文件拆分${env}.properties为非${env}-secure.properties安全属性和安全属性。然后,您可以使用配置属性$ {env} .properties和secure-properties ${env}-secure.properties

如果您收到特定错误,请更新详细信息。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励