JBoss中的标准数据源配置要求数据库用户的用户名和密码位于xxx-ds.xml文件中。如果我将我的数据源定义为c3p0 mbean,我会遇到同样的问题。
是否有加密用户和密码的标准方法?保存钥匙的好地方是什么?
这当然与tomcat相关 - context.xml文件,spring配置文件等
答案 0 :(得分:6)
有一个维基文档:http://www.jboss.org/community/docs/DOC-9703描述了这一点。
答案 1 :(得分:1)
对于spring部分,您可以使用自己的spring的PropertyPlaceholderConfigurer扩展,并重写String convertPropertyValue(String originalValue)。由于该方法的javadoc提到它(实际上在超类PropertyResourceConfigurer中):
将属性源中的给定属性值转换为应该应用的值。
默认实现只返回原始值。可以在子类中重写,例如检测加密值并相应地解密它们。
这意味着您可以在spring xml文件中使用$ {encoded.value}配置数据源,并在将解码后的值注入数据源之前解码该值。