Mar*_*koU 4 integration weblogic configuration-files weblogic-10.x
我们的开发团队开发了一个在Weblogic 10.3上运行的J2EE应用程序.每台开发机器都运行自己的Weblogic 10.3应用服务器副本.开发环境的Weblogic域最初是在一台机器上创建的,然后使用Weblogic的配置工具(bea10/wlserver_10.3/common/bin/config.cmd)复制到所有机器上.
每台开发机器都有自己的config.xml副本.此文件中的所有密码(JDBC数据源等)都是加密的,加密显然在每台计算机上使用不同的种子,因为相同的密码在不同的计算机上具有不同的加密形式.
问题是每隔一段时间就需要更新config.xml(例如添加新EJB时),并且需要在所有计算机上应用更新.我们该怎么做呢?如果我们只是将文件放在CVS中并从那里更新其他机器,则每台机器上的加密密码都会被覆盖.当服务器尝试解密最初在另一台机器上加密的密码时,这会导致难以辨认的paddingexceptions.
是否存在ant任务(我找不到)或类似的机制,可以在不覆盖加密密码的情况下正确合并config.xml中的更改?或者是否有可能以某种方式指定明文中的密码并在第一次启动时加密它们(我有一个微弱的回忆,这在以前的版本中是可能的,但在10.3中却没有).
开发Weblogic的开发团队如何处理这个问题?
BR,
马尔科
[...]每台开发机器都有自己的config.xml副本.此文件中的所有密码(JDBC数据源等)都是加密的......
是的,WebLogic Server会加密存储在其域配置XML文件中的所有纯文本密码.这是为了防止访问敏感信息.使用管理控制台或脚本工具输入密码时,它会在存储到配置XML文件之前自动加密.
...并且加密显然在每台机器上使用不同的种子,因为相同的密码在不同的机器上具有不同的加密形式.
关于加密实用程序(来自Oracle WebLogic Server Java实用程序),文档说:
该
weblogic.security.Encrypt加密明文用于WebLogic服务器使用的字符串.该实用程序使用当前目录的加密服务或指定WebLogic Server域根目录的加密服务.注意:加密字符串必须已由将在其中使用的WebLogic Server域中的加密服务加密.如果没有,服务器将无法解密字符串.
文档中没有提到这一点,但是,AFAIK,Weblogic使用域的密码salt文件(SerializedSystemIni.dat)来加密明文字符串.
[...]如果我们只是将文件放在CVS中并从那里更新其他机器,则每台机器上的加密密码都会被覆盖.
您可以选择在VCS中存储的config.xml中使用明文密码(如果这不是问题).实际上,在WebLogic Server 9.0之前,密码将在后续重新启动期间加密.从WebLogic Server 9.0开始,仅在开发域中"完全"支持在配置文件中使用明文密码,并且Weblogic不会重新加密密码.在这两种情况下,这将允许人们检查配置文件没有麻烦.
是否有一个ant任务(我找不到)或类似的机制,可以在不覆盖加密密码的情况下正确合并config.xml中的更改?...
我不确定这直接回答了您的问题,但Oracle WebLogic Server 为其大多数(如果不是全部)Java Utilities 提供了Ant任务.也许您会在那里找到有用的东西(请参阅使用wlconfig Ant任务配置WebLogic Server域)
或者是否有可能以某种方式指定明文中的密码并在第一次启动时加密它们(我有一个微弱的回忆,这在以前的版本中是可能的,但在10.3中却没有).
正如我上面所写,这是Weblogic Server 9.0之前的"默认"行为.我不知道你是否可以为以后的版本强制执行此行为.当然,你总是可以使用ant和加密来做,但老实说,如果你允许人们看到一次明文密码,我真的没有看到在事实之后加密它们的重点.
| 归档时间: |
|
| 查看次数: |
18939 次 |
| 最近记录: |