Хорошо, вот как я это сделал (я работаю над JBOSS 4.2.1 GA и Oracle, поэтому некоторые вещи могут различаться между версиями и поставщиками БД):
Вам необходимо расширить AbstractPasswordCredentialLoginModule а>.
Я основывал свой (под названием PGPLoginModule) на готовой реализации под названием SecureIdentityLoginModule единственная разница между этим и моим заключается в методах декодирования и кодирования, которые используют другой алгоритм и процесс шифрования (мой использует сертификат PGP для дешифрования файл свойств, в котором хранится пароль) аналогично тому, что описано в эту статью, но вы можете использовать любой удобный для вас метод.
Вам потребуется добавить следующие jar-файлы, расположенные в папках библиотеки jboss, чтобы разрешить зависимости:
- [JBOSS_HOME]/lib/jboss-common.jar
- [JBOSS_HOME]/lib/jboss-jmx.jar
- [JBOSS_HOME]/server/default/lib/jbosssx.jar
- [JBOSS_HOME]/server/default/lib/jboss-jca.jar
Вам нужно разархивировать свой класс и поместить банку либо на:
- [JBOSS_HOME]/сервер/по умолчанию/библиотека
or
Когда у вас есть это, вам нужно настроить его в домене безопасности, который вы определили в файле login-config.xml jboss, чтобы он использовал ваш класс (мой — org.company.resource.security.PGPLoginModule) вместо используя значение по умолчанию, поэтому оно будет выглядеть примерно так:
<application-policy name="PGPDomain">
<authentication>
<login-module code="org.company.resource.security.PGPLoginModule" flag="required">
<module-option name="username">[DB_USER]</module-option>
<module-option name="password">[ENCTRYPTED_PASSWORD]</module-option>
<module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=OracleDS</module-option>
</login-module>
</authentication>
</application-policy>
Обратите внимание, что в зависимости от силы и алгоритма, который вы решите использовать, вам может потребоваться установить файл Файлы политик неограниченной надежности Java Cryptography Extension в вашу JRE.
Я надеюсь, что кто-то найдет это полезным.
person
Chepech
schedule
23.03.2012