В настоящее время я использую 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
.Это возможно сделать?Если да, подсказки помогут мне, в противном случае я буду признателен за альтернативное решение.