Допустим, у нас есть два перехватчика: «LogInterceptor» и «AuthInterceptor».Первый перехватчик регистрирует входящий запрос, а второй аутентифицирует его.Цель: цепочка LogIntercptor и AuthInterceptor.Сначала я хочу, чтобы вызывался logInterceptor, а после этого должен выполняться AuthInterceptor.Примечание: я знаю о «перенаправлении» и возврате false (пожалуйста, не предлагайте один)
---------------------Log Interceptor---------------------------------------
//First Inteceptor
@Component
public class LogInterceptor extends HandlerInterceptorAdapter
{
private final Logger Logger =
LoggerFactory.getLogger(this.getClass());
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
//take action base on incoming IP
long startTime = System.currentTimeMillis();
request.setAttribute("startTime",startTime);
if(request.getRemoteAddr().startsWith("192"))
{
response.sendRedirect("/auth-failed"); //redirect to default
return false;
}
return true;
}
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler, @Nullable ModelAndView
modelAndView) throws Exception
{
}
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, @Nullable Exception
ex) throws Exception
{
}
}
// Второй перехватчик «Код, однако, не завершен, я просто ищу, как этого можно достичь."Класс AuthInterceptor {
}