Spring Encrypt Values ​​из файла свойств - PullRequest
3 голосов
/ 31 августа 2011

В настоящее время я использую UserDetailsService для получения значений из пользовательского файла:

<bean id="userDetailsService"  class="org.springframework.security.userdetails.memory.InMemoryDaoImpl">
<property name="userProperties" value="users.properties"/>
</bean>

Мой файл свойств предназначен для редактирования администратором, а пароли имени пользователя не шифруются:

bob=bobpassword
alice=alicepassword

Теперь, поскольку я использую PasswordEncoder в своем приложении, мне нужно зашифровать пароли и добавить их в UserDetails.Это можно сделать где-то в коде, но, на мой взгляд, это не очень удобно.

Я нашел PropertyPlaceholderConfigurer с методом convertPropertyValue(String value), который можно переопределить.

Из того, что я понимаю, должна быть возможность загрузить файл свойств в PropertyPlaceholderConfigurer, где свойства могут быть зашифрованы методом convertPropertyValue, а затем загружены UserDetailsService.Это возможно сделать?Если да, подсказки помогут мне, в противном случае я буду признателен за альтернативное решение.

Ответы [ 2 ]

2 голосов
/ 11 октября 2011

Взгляните на Jasypt , это библиотека Java, которая позволяет разработчику добавлять базовые возможности шифрования в свои проекты с минимальными усилиями и без необходимости иметь глубокие знания о том, как работает криптография. .

Вы можете увидеть, как настроить его с помощью Spring здесь

В качестве альтернативы вы также можете реализовать свой собственный propertyPersister для шифрования (d):

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <value>classpath:com/foo/jdbc.properties</value>
    </property>
    <property name="propertiesPersister">
        <bean class="com.mycompany.MyPropertyPersister" />
    </property>        
</bean>

Взгляните на пример здесь

0 голосов
/ 11 апреля 2014

То же, что вы ожидаете, можно найти в http://kayalvizhiameen.blogspot.in/2014/04/handling-obfuscated-property-values-in.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...