在magento开发过程中,我们经常会配置一些 key 、password这些信息,而这些信息通常不应该以明文的方式存储,需要加密存储,今天我就简单分享以下magento后台如何配置这些加密字段,以及使用时如何获取。
- 先在 system.xml 文件对应的字段配置 <backend_model>Magento\Config\Model\Config\Backend\Encrypted</backend_model>,例如:
<field id="key" translate="label" type="obscure" sortOrder="20" showInDefault="1" showInWebsite="1" showInStore="1">
<label>Key</label>
<comment>Please enter your Key.</comment>
<backend_model>Magento\Config\Model\Config\Backend\Encrypted</backend_model>
</field>
这样key在储存时就会根据我们配置文件里面的key来加密
- 为了在使用时确保我们调用的是正确的配置,我们需要在config.xml 文件里面为加密的字段配置<backend_model>Magento\Config\Model\Config\Backend\Encrypted</backend_model>,例如:
<switch_currency>
<switch>
<enable>0</enable>
<mode>0</mode>
<key backend_model="Magento\Config\Model\Config\Backend\Encrypted" />
</switch>
</switch_currency>
这样我们在获取key的配置时,就可以直接使用:
public function getKey()
{
return $this->scopeConfig->getValue(self::KEY);
}