I am currently using a UserDetailsService
to get values from a user file:
<bean id="userDetailsService" class="org.springframework.security.userdetails.memory.InMemoryDaoImpl">
<property name="userProperties" value="users.properties"/>
</bean>
My properties file is meant to be edited by the admin and the username passwords are not encrypted:
bob=bobpassword
alice=alicepassword
Now, since I use a PasswordEncoder
in my application, I need to encrypt the passwords and add them to the UserDetails
. This can be done somewhere in the code, but is not very handy in my opinion.
I found the PropertyPlaceholderConfigurer
with the method convertPropertyValue(String value)
, which can be overridden.
From what I understand, it should be possible to load the properties file into the PropertyPlaceholderConfigurer
, where the properties could be encrypted in the convertPropertyValue
method and then loaded by the UserDetailsService
. Is that possible to do? If yes, hints would help me, otherwise I'd appreciate to see an alternative solution.