私はpersistence.xmlのパスワードを暗号化/復号化するのにjasyptを使用しようとしていましたが、あまりうまく動作しません。 Sooo ..私はおそらく自分でそれをやることができると思った。私の問題は、dbアカウントがどこにアクセスされているかを知ることではないので、ハンドルを取得できます。パスワードは私のpersistence.xmlにあります:persistence.xmlを使用してJPA用に配置されているDB接続はどこにありますか?
<property name="hibernate.connection.password" value="mydbpassword" />
これは検索し、アプリケーションはデータベースに接続します。 hibernate.connection.passwordのgrepを実行すると、唯一のヒットはpersistence.xmlです。
コードをどこで知っているのですが、これを手動で復号化して暗号化したパスワードにすることができますか?
ありがとうございました!
UPDATE2 - 入手しました! JNDIルートを使用しようとしました。ここではそれが動作するように取得するための設定は次のとおりです(のJBoss deployディレクトリにある)
persistence.xmlの
<persistence-unit name="MyApp" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/myDB</jta-data-source>
<properties>
<property name="hibernate.connection.datasource" value="java:/myDB" />
のoracle-ds.xmlの
<datasources>
<local-tx-datasource>
<jndi-name>/myDB</jndi-name>
<use-java-context>true</use-java-context>
<connection-url>jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=foo.com)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SID=myDB)))
</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>user1</user-name>
<password>userpass</password>
これは機能しています! oracle-ds.xmlでuse-java-context = trueを追加し、persistence.xmlにhibernate.connection.datasourceを設定します。多分1つだけが必要だったかもしれません...しかし今は動作します。 – Blake
偉大な、助けてうれしい! – Zilvinas