У меня есть приложение, использующее базу данных EXAMPLE, которая использует своего рода старую версию hibernate.
Пароли пользователей хранятся как org.jasypt.hibernate.type.EncryptedStringType.
<typedef name="encryptedString" class="org.jasypt.hibernate.type.EncryptedStringType">
<param name="encryptorRegisteredName">jasyptHibernateEncryptor</param>
</typedef>
<property name="password" type="encryptedString">
<column name="pwd" length="254" not-null="true" />
</property>
Я не знаю, всегда ли это так, но, по сути, при запросе пользователя он автоматически расшифровывает их пароль, поэтому он имеет открытый текст.
ТеперьВ той же базе данных запущено новое веб-приложение (назовите его webapp2).Этот код шифрует пароли по-разному и неразборчиво.
То, что меня попросили сделать, - это перенести старых пользователей на «новый путь», а я создал проект maven с 3 модулями:
- module1 (он же oldie) должен просто иметь возможность запрашивать базу данных старым способом (чтобы при каждом запросе к пользовательской таблице я мог иметь пароль пользователя в открытом тексте)
- module2 (он же newie) должен просто запросить базу данных по-новому.
- module3 должен иметь один фиктивный класс (на данный момент эточто-то вроде), который использует UserService из module1 и UserService из module2 соответственно для чтения пароля пользователя (чистый текст) и установки его по-новому.
ВОПРОС: То, с чем я сталкиваюсь, - это целоемного проблем с module3 , когда приходится иметь дело с разными версиями hibernate libs , а что нет.
На моей конфигурации module3 (они все весенние приложения) IАвтопроводкасервисы и ошибки как от module1, так и от module2 создают много беспорядка, что приводит к проблемам.
Похоже, что происходит то, что существует смесь зависимостей, которая делает невозможным создание экземпляров sessionFactories или daos (на данный момент).
Любая помощь будет оценена.