Spring Security Salt

Я пытаюсь добавить соль при добавлении нового пользователя / pwd, но в документации, похоже, не хватает того, как это сделать.

Вот базовый пример:

<authentication-manager>
    <authentication-provider user-service-ref="userDetailsService">
        <password-encoder hash="md5">
            <salt-source user-property="username"/>
        </password-encoder>
    </authentication-provider>
</authentication-manager>

На этом примере видно, что ни пользовательская соль, ни пользовательский кодировщик паролей не используются.

Итак, как мне подключить Salt при добавлении нового пользователя / pwd? Я предполагаю, что это будет что-то вроде:

@Autowired SaltSource saltSource;
protected void foo(final CustomUser user) {
    final PasswordEncoder encoder = new Md5PasswordEncoder();
    user.setPassword(encoder.encodePassword(user.getPassword(), saltSource));
}

Однако, поскольку я использую кодировщики соли / пароля по умолчанию и у меня нет настраиваемого солевого bean-компонента, autowire не сработает.

Есть какие-нибудь подсказки, как это сделать?

23
задан user973479 9 November 2011 в 15:47
поделиться