0

这是我的配置,我在其中定义了我的属性文件,即具有一些加密值的 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 算法的值密码进行了加密。但是,它无法使用提供的配置解密这些值。

4

1 回答 1

1

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

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

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

因此,最佳实践是将您的属性文件拆分${env}.properties为非安全属性和${env}-secure.properties安全属性。然后你可以使用 configuration-properties ${env}.properties 和 secure-properties for ${env}-secure.properties.

如果您遇到特定错误,请使用详细信息更新问题。

于 2019-05-27T18:29:30.057 回答