Помогите, пожалуйста, немного с настройкой Spring Security
.Я нашел что-то похожее, но это как-то не очень хорошо работает для меня .. https://stackoverflow.com/a/36875726/1590594
Конфигурация указывает, что каждый запрос должен быть аутентифицирован.Необходимо сделать следующее, чтобы на указанном URL ("/ push") работал только один фильтр.Фильтр выполняет соответствующую проверку и пропускает запрос дальше или отклоняет запрос.Без аутентификации.
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable().
sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and().
authorizeRequests()
.anyRequest().authenticated().
and().
anonymous().disable().
exceptionHandling().authenticationEntryPoint(unauthorizedEntryPoint());
http.addFilterBefore(new UserAuthenticationFilter(authenticationManager()), BasicAuthenticationFilter.class);
http.authorizeRequests().antMatchers(HttpMethod.POST, "/push").authenticated().and().addFilterBefore(new RPushFilter(),BasicAuthenticationFilter.class);
}
и фильтра
public class RPushFilter extends GenericFilterBean {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
HttpServletResponse httpResponse = (HttpServletResponse) response;
//IF NOT httpResponse.sendError(HttpStatus.BAD_REQUEST.value(), "Access denied");
chain.doFilter(request, response);
}
}