Я определил пользовательский фильтр, я добавил его сразу после BasicAutenticationFilter ...
Проблема в том, что, когда я пингую свой микросервис (в этом случае проверяется работоспособность ранчера), он всегда идет к фильтру и делает что-то, если этого не следует, я говорю, что это не должно, потому что я ставлю пинг в antmatchers для разрешения всех запросов, код в моем фильтре такой:
@Override
public void doFilter(final ServletRequest request, final ServletResponse response, final FilterChain chain)
throws IOException, ServletException {
logger.debug(this + "received authentication request from " + request.getRemoteHost() + " to " + request.getLocalName());
if (request instanceof HttpServletRequest) {
if (isAuthenticationRequired()) {
authenticate(request,response);
} else {
logger.debug("session already contained valid Authentication - not checking again");
}
}
chain.doFilter(request, response);
}
private boolean isAuthenticationRequired() {
Authentication existingAuth = SecurityContextHolder.getContext().getAuthentication();
if ((existingAuth == null) || !existingAuth.isAuthenticated()) {
return true;
}
return false;
}
Я предположил, когда вы SecurityContextHolder.getContext (). GetAuthentication (); он должен проверить antmatchers и вернуть существующий True с true, я знаю, я знаю, что это магически, чтобы думать, как я, но затем мне нужно найти прочь, чтобы проверить запрос и сказать, что весенняя безопасность находится внутри списка antmatchers ..