Стандартная конфигурация источника данных в JBoss требует, чтобы имя пользователя и пароль пользователя базы данных находились в файле xxx-ds.xml. Если я определяю свой источник данных как mbean c3p0, я сталкиваюсь с той же проблемой.
Есть ли стандартный способ зашифровать пользователя и пароль? Где лучше хранить ключ?
Это, конечно, относится и к tomcat - файлы context.xml, файлы конфигурации spring и т. д.
Ответ 2 · рейтинг 1 · Gaetan
для части spring вы можете использовать собственное расширение Spring PropertyPlaceholderConfigurer с переопределенным String convertPropertyValue (String originalValue). Как упоминает javadoc для метода (фактически в суперклассе PropertyResourceConfigurer):
Преобразуйте заданное значение свойства из источника свойств в значение, которое следует применить.
Реализация по умолчанию просто возвращает исходное значение. Может быть переопределен в подклассах, например, для обнаружения зашифрованных значений и их соответствующей расшифровки.
Это означает, что вы можете настроить свой источник данных с помощью ${encoded.value} в XML-файле spring и декодировать значение, прежде чем вводить декодированное значение в источник данных.