Удалите чувствительные заголовки из фильтра spring RequestDumperFilter

#java #spring

Вопрос:

Можно ли настроить Spring RequestDumperFilter так, чтобы он не регистрировал определенные заголовки, содержащие конфиденциальную информацию (например, заголовок «Авторизация»)?

Комментарии:

1. Из какого пакета вы получаете этот класс?

2. @tgdavies это от использования org.apache.catalina.filters.RequestDumperFilter весной, например: public FilterRegistrationBean requestDumperFilter() { FilterRegistrationBean регистрация = новый FilterRegistrationBean(); Фильтр requestDumperFilter = новый RequestDumperFilter(); registration.setFilter(requestDumperFilter); registration.addUrlPatterns(«/*»); регистрация возврата; }

Ответ №1:

Глядя на источник https://github.com/apache/tomcat/blob/8e2aa5e45ce13388da62386e3cb1dbfa3b242b4b/java/org/apache/catalina/filters/RequestDumperFilter.java похоже, что нет никакого способа сделать это:

 Enumeration<String> hnames = hRequest.getHeaderNames();
while (hnames.hasMoreElements()) {
  String hname = hnames.nextElement();
  Enumeration<String> hvalues = hRequest.getHeaders(hname);
  while (hvalues.hasMoreElements()) {
    String hvalue = hvalues.nextElement();
    doLog("            header", hname   "="   hvalue);
  }
}
 

Но было бы очень легко скопировать этот файл и изменить его, чтобы он делал то, что вы хотите.