Как определить пользовательский поставщик аутентификации с помощью Spring Security с конфигурациями Java? Я хотел бы выполнить учетные данные для входа в мою собственную базу данных.Поставщик пользовательской аутентификации с функцией Spring Security и Java Config
ответ
Следующая делает то, что вам нужно (CustomAuthenticationProvider
ваша реализация, которая должна управляться весной)
@Configuration
@EnableWebMvcSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private CustomAuthenticationProvider customAuthenticationProvider;
@Override
protected void configure(HttpSecurity http) throws Exception {
/**
* Do your stuff here
*/
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(customAuthenticationProvider);
}
}
Возможно ли зарегистрировать собственный поставщик аутентификации в дополнение к уже существующим? –
@Seppl Я не думаю, что что-то вроде этого существует из коробки (хотя я мог легко ошибаться), но я почти уверен, что что-то подобное можно реализовать относительно легко. Проверьте [this] (http://stackoverflow.com/a/36417101/2504224) – geoand
В соответствии с Spring Docu, 'auth.authenticationProvider()' будет 'Добавить аутентификацию на основе настраиваемого AuthenticationProvider, который передается. " Я предполагаю, что вы получите стек провайдеров таким образом. –
Как показано на baeldung.com, определите поставщика проверки подлинности следующим образом:
@Component
public class CustomAuthenticationProvider implements AuthenticationProvider {
@Override
public Authentication authenticate(Authentication authentication)
throws AuthenticationException {
String name = authentication.getName();
String password = authentication.getCredentials().toString();
if (shouldAuthenticateAgainstThirdPartySystem(username, password)) {
// use the credentials
// and authenticate against the third-party system
return new UsernamePasswordAuthenticationToken(
name, password, new ArrayList<>());
} else {
return null;
}
}
@Override
public boolean supports(Class<?> authentication) {
return authentication.equals(
UsernamePasswordAuthenticationToken.class);
}
}
и следующий код соответствует java config:
@Configuration
@EnableWebSecurity
@ComponentScan("org.project.security")
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private CustomAuthenticationProvider authProvider;
@Override
protected void configure(
AuthenticationManagerBuilder auth) throws Exception {
auth.authenticationProvider(authProvider);
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().authenticated()
.and()
.httpBasic();
}
}
Вы просто скопировали это прямо из http://www.baeldung.com/spring-security-authentication-provider. Хотя ответ, безусловно, полезен, необходимо также указать источники. – moritz
- 1. spring security java config - несколько диспетчер аутентификации
- 2. spring security java config - выставляющий менеджер аутентификации
- 3. Поставщик пользовательской аутентификации не работает в Spring Security
- 4. Spring Security Java Config
- 5. Spring Security Java Config
- 6. Поставщик пользовательской аутентификации WCF
- 7. Spring Security XML Config Vs Java Config
- 8. Spring Security OAuth Java Config
- 9. Поставщик пользовательской аутентификации Spring Boot с конфигурацией Java FIXED
- 10. Spring Security Java Config Аварии
- 11. Spring Security Java Config не ContextLoaderListener зарегистрировано
- 12. Поставщик подлинной аутентификации Wrapping Spring Security с транзакцией
- 13. spring mvc security config
- 14. spring security java config запомнить меня по java config
- 15. Spring Security и LDAP аутентификации
- 16. Spring security java config basic authentication filter
- 17. spring security config xml to java
- 18. Spring security java config не перехватывает
- 19. Spring boot - security java config - LDAP
- 20. Spring Security + Hibernate аутентификации
- 21. Spring Social Spring Security с проблемой java config на tomcat7
- 22. Поставщик множественной аутентификации Spring Security не попадает ко второму
- 23. Spring - вызов пользовательской аутентификации-провайдера с контроллера
- 24. Специальный фильтр проверки подлинности Spring Security с использованием Java Config
- 25. Пользовательский поставщик аутентификации в Spring Security 2 userDetailsService issue
- 26. Spring Android аутентификации с Spring Security
- 27. Spring Security 4 Ошибка аутентификации пользовательской учетной записи
- 28. Добавить поставщика аутентификации Spring Security Java конфигурации
- 29. Ошибка аутентификации в Spring Security
- 30. Настройка аутентификации в Spring Security
весенняя документация по безопасности дает вам всю необходимую информацию - как настроить конфигурацию XML и конечных точек. Кроме того, вам необходимо будет поддерживать потоки, такие как «создать учетную запись», «забыли пароль» и т. Д., Которые вы можете использовать с открытым исходным кодом: https://github.com/OhadR/oAuth2-sample/tree/master/ аутентификационные потоки – OhadR