Как отключить автоматическое дешифрование свойств jasypt для одного компонента? - PullRequest
0 голосов
/ 10 июля 2019

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

Я считаю автоматическое шифрование / дешифрование jasypt удобным, но в моем SecurityConfig я хочу получить зашифрованные значения и расшифровать их позже.

Как отключить расшифровку jasypt для одного свойства или одного класса?

@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Value("${password}")
    private String password;// <= this field will contain the decrypted password, but should contain the encrypted password
}

Ответы [ 2 ]

1 голос
/ 20 июля 2019

Как насчет того, чтобы не использовать ENC () и вводить незашифрованный зашифрованный текст в качестве пароля?

0 голосов
/ 22 июля 2019

Есть обходной путь: напишите это в своем приложении. Свойства:

.
password=ENC_X(1234)

И заменить ENC_X на ENC при введении свойства:

@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Value("#{'${password}'.replaceFirst('^ENC_X','ENC')}")
    private String password;// <= this field will contain 'ENC(1234)' (unencrypted)
}
...