Я использую Spring Security 3.2.5. Пыльник мой класс настройки безопасности:Ошибка аутентификации при добавлении UsernamePasswordAuthenticationFilter
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
@EnableWebMvcSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private AuthenticationProvider ap;
@Autowired
private UsernamePasswordAuthenticationFilter myFilter;
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.permitAll()
.and()
.httpBasic();
http.addFilterAfter(myFilter, UsernamePasswordAuthenticationFilter.class);
}
@Autowired
public void configureGlobal(AuthenticationProvider ap, AuthenticationManagerBuilder amb) throws Exception {
amb.authenticationProvider(ap);
}
}
и вот некоторые из моих заявленных бобов:
@Bean
public UsernamePasswordAuthenticationFilter restApiAuthenticationFilter() {
UsernamePasswordAuthenticationFilter filter = new UsernamePasswordAuthenticationFilter();
filter.setAuthenticationManager(authenticationManager());
filter.setRequiresAuthenticationRequestMatcher(new AntPathRequestMatcher("/login", "POST"));
return filter;
}
@Bean
public AuthenticationManager authenticationManager() {
List<AuthenticationProvider> providers = new LinkedList<AuthenticationProvider>();
providers.add(daoAuthenticationProvider());
ProviderManager pm = new ProviderManager(providers);
return pm;
}
Теперь проблема в том, что если добавить UsernamePasswordAuthenticationFilter
к прыжку безопасности, то authenticatio не удается, в противном случае он идет Что ж. Любые рекомендации по этому вопросу? Я получаю это в лог-файлах:
2015-01-14 16: 03: 55548 [IO-8080-Exec-54] DEBUG ProviderManager - попытка аутентификации с использованием org.springframework.security.authentication.dao .DaoAuthenticationProvider
2015-01-14 16: 03: 55557 [IO-8080-Exec-54] DEBUG EntityManagerInvocationHandler - Создание нового EntityManager для общего EntityManager вызова
2015-01-14 16: 03: 55672 [ io-8080-exec-54] DEBUG EntityManagerFactoryUtils - Закрытие JPA EntityManager
2015-01-14 16: 03: 55772 [IO-8080-Exec-54] DEBUG DaoAuthenticationProvider - Пользователь '' не найден
возможно дубликат [Добавление пользовательских UsernamePasswordAuthenticationFilter фильтра весной] (http://stackoverflow.com/questions/27938909/adding-custom-usernamepasswordauthenticationfilter-filter -in-spring) –
@ M.Deinum Удал тот, с которым вы связались. Этот пост решает обе проблемы. – artaxerxe