Social Icons

.

пятница, 23 июля 2010 г.

Шифрование пароля для JDBC Connector-ов на JBoss


Источник

В командной строке из директории установки JBoss вызвать (для получения пароля в зашифрованном виде): 
Образец
java -cp client/jboss-logging-spi.jar;common/lib/jbosssx.jar org.jboss.resource.security.SecureIdentityLoginModule password
где password – пароль к базе данных (в нашем случае, assa).
Пример
D:\JBoss\jboss-5.1.0.GA>java -cp client/jboss-logging-spi.jar;common/lib/jbosssx.jar org.jboss.resource.security.SecureIdentityLoginModule assa
Encoded password: -1a3118fa8faa78fa
Зпомнить/сохранить зашифрованный пароль.
В каждом файле *-ds.xml вместо имени и пароля добавить новый тег security-domain
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
 <local-tx-datasource>
  <jndi-name>INFO_DATABASE_DS</jndi-name>
  <connection-url>jdbc:sqlserver://172.22.56.220:1433;DatabaseName=MY_DATABASE_NAME</connection-url>
  <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
  <!-- REPLACED WITH security-domain BELOW
  <user-name>sa</user-name>
  <password>assa</password>
  -->
  <security-domain>EncryptDBPassword_INFO_DB</security-domain>
  <charSet>Cp1251</charSet>
       <metadata> 
   <type-mapping>MS SQLSERVER2000</type-mapping>
  </metadata>
 </local-tx-datasource>
</datasources> 
Описание <security-domain> будет находиться в файле ../conf/login-config.xml
В файл этом файле следует добавить описание EncryptDBPassword_INFO_DB
<application-policy name="EncryptDBPassword_INFO_DB">
    <authentication>
        <login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">
            <module-option name="username">sa</module-option>
            <module-option name="password">-1a3118fa8faa78fa</module-option>
            <module-option name="managedConnectionFactoryName">jboss.jca:name=INFO_DATABASE_DS,service=LocalTxCM</module-option>
        </login-module>
    </authentication>
</application-policy>
  1. EncryptDBPassword_INFO_DB – имя security-domain в *-ds.xml
  2. sa – логин для доступа к БД
  3. a3118fa8faa78fa – зашифрованный пароль к БД
  4. INFO_DATABASE_DS – jndi name LocalTxCM – тип источника данных в *-ds.xml (local-tx-datasource) (еще может быть XATxCM для xa-datasource).
Для каждой базы данных необходимо создавать свой security-domain и прописывать его в login-config.xml.

 

Комментариев нет:

Отправить комментарий

 

Так говорил Учитель:

У хорошо написанной программы есть свой собственный рай, у плохо написанной — свой собственный ад.

Russian Developer

Взгляд его светел, усилия праведны, старания бесплодны, дело безнадежно ...