0

我需要为 Jboss 配置加密密码。现在我在 oracle-ds.xml 中有直接的用户名密码。

https://docs.jboss.org/jbosssecurity/docs/6.0/security_guide/html/Encrypting_Data_Source_Passwords.html

浏览完上面的 Url 后,我从 oracle-ds.xml 中删除了用户名和密码,并在 login-config.xml 中添加了一个新策略,并将该策略映射到 oracle-ds.xml 中。

在单个 JNDI 名称的情况下,它工作正常。(单一数据源)

在另一个应用程序中,我在 Oracle-ds.xml 中有 5 个数据源。

1) 我尝试在 login-config 中添加不同的策略并在 oracle-ds.xml 中分别映射 - 但它不起作用

2)我尝试在单一策略下添加登录模块,但失败了

有人可以帮我吗?

4

2 回答 2

0

我没有在 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/

于 2018-03-18T10:13:29.867 回答
0

如果由于存储在应用程序的 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>
于 2018-03-19T17:25:51.000 回答