Jboss 中的多 oracle 数据源密码加密
Mutli oralce Datasource Password Encryption in Jboss
我需要为 Jboss 配置加密密码。现在我在 oracle-ds.xml 中有直接的用户名密码。
完成上述Url后,我从oracle-ds.xml中删除了用户名和密码,并在login-config.xml中添加了一个新策略,并将该策略映射到oralce-ds.xml.
在单个 JNDI 名称的情况下工作正常。 (单一数据源)
在另一个应用程序中,我在 Oracle 中有 5 个数据源-ds.xml。
1) 我尝试在登录配置中添加不同的策略并在 oracle-ds.xml 中分别映射 - 但它不起作用
2) 我尝试在单一策略下添加登录模块,但失败了
有人可以帮我解决这个问题吗?
我没有在 Jboss 中明确地尝试过这个,但也许更简单的选择是不将密码(明文或加密)存储在您的配置文件中,而是存储在 Oracle 钱包中?
您可以创建一个钱包,将密码加密存储在那里,然后连接信息为:
<module-option name="username">/</module-option>
<module-option name="password"></module-option>
您配置钱包并设置如下:
mkstore -create -wrl c:\oracle\wallet
mkstore -wrl c:\oracle\wallet -createCredential MYDB scott tiger
其中用户 = scott,密码 = tiger,用于数据库 "MYDB",sqlnet.ora 指向钱包所在的位置:
SQLNET.WALLET_OVERRIDE=TRUE
WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=c:\oracle\wallet)))
您可以在此处找到完整的示例:
https://connor-mcdonald.com/2015/09/21/connection-shortcuts-with-a-wallet/
如果由于应用程序 persistence.xml 中存储的名称,您只需要将 Oracle 连接映射到 N 个不同的 JNDI 名称,您可以使用别名的概念。
<mbean code="org.jboss.naming.NamingAlias"
name="jboss.jca:name=jdbc/myFirstDS,service=DataSourceBinding">
<attribute name="ToName">java:jdbc/mySecondDS</attribute>
<attribute name="FromName">java:jdbc/myFirstDS</attribute>
</mbean>
我需要为 Jboss 配置加密密码。现在我在 oracle-ds.xml 中有直接的用户名密码。
完成上述Url后,我从oracle-ds.xml中删除了用户名和密码,并在login-config.xml中添加了一个新策略,并将该策略映射到oralce-ds.xml.
在单个 JNDI 名称的情况下工作正常。 (单一数据源)
在另一个应用程序中,我在 Oracle 中有 5 个数据源-ds.xml。
1) 我尝试在登录配置中添加不同的策略并在 oracle-ds.xml 中分别映射 - 但它不起作用
2) 我尝试在单一策略下添加登录模块,但失败了
有人可以帮我解决这个问题吗?
我没有在 Jboss 中明确地尝试过这个,但也许更简单的选择是不将密码(明文或加密)存储在您的配置文件中,而是存储在 Oracle 钱包中?
您可以创建一个钱包,将密码加密存储在那里,然后连接信息为:
<module-option name="username">/</module-option>
<module-option name="password"></module-option>
您配置钱包并设置如下:
mkstore -create -wrl c:\oracle\wallet
mkstore -wrl c:\oracle\wallet -createCredential MYDB scott tiger
其中用户 = scott,密码 = tiger,用于数据库 "MYDB",sqlnet.ora 指向钱包所在的位置:
SQLNET.WALLET_OVERRIDE=TRUE
WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=c:\oracle\wallet)))
您可以在此处找到完整的示例:
https://connor-mcdonald.com/2015/09/21/connection-shortcuts-with-a-wallet/
如果由于应用程序 persistence.xml 中存储的名称,您只需要将 Oracle 连接映射到 N 个不同的 JNDI 名称,您可以使用别名的概念。
<mbean code="org.jboss.naming.NamingAlias"
name="jboss.jca:name=jdbc/myFirstDS,service=DataSourceBinding">
<attribute name="ToName">java:jdbc/mySecondDS</attribute>
<attribute name="FromName">java:jdbc/myFirstDS</attribute>
</mbean>