Я зарегистрировал jdbcAuthentication()
. Как я могу заменить пароль, который был нажат в инструкции SELECT?Как я могу изменить пароль в форме входа в систему перед тем, как использовать его для аутентификации весной?
Недостаточно A PasswordEncoder
, так как я хочу объединить имя пользователя и пароль входящего запроса на вход, а затем передать эту строку и использовать исходящий хеш в качестве пароля для аутентификации с помощью JDBC.
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.jdbcAuthentication()
.dataSource(datasource)
.usersByUsernameQuery("SELECT username, password, true as enabled "
+ "FROM users WHERE username = ?")
.authoritiesByUsernameQuery("SELECT username, role as authority "
+ "FROM users, roles "
+ "WHERE username = ?");
}
}
Я добавил обычай UsernamePasswordAuthenticationFilter
но его метод attemptAuthentication()
не дозвонились в попытке входа.
http.addFilterBefore(new CustomUsernamePasswordAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class);
Возможный дубликат http://stackoverflow.com/questions/22994851/how-to-register-saltsource-in-java-config-no-xml – holmis83