Ограничить / разрешить доступ к файлу в tomcat на основе расширения файла через белый список - PullRequest
0 голосов
/ 25 марта 2012

В tomcat мне нужно отключить доступ через браузер по типу файла

Я могу сделать следующее

<servlet-mapping>
  <servlet-name>Error Servlet</servlet-name>
  <url-pattern>*.log</url-pattern>
</servlet-mapping>
<servlet-mapping>
  <servlet-name>Error Servlet</servlet-name>
  <url-pattern>*.java</url-pattern>
</servlet-mapping>

Но вместо того, чтобы занести в черный список, как это, можно сделать белый списоктипов, которые я хотел бы разрешить доступ?как * .jsp, * .html, * .jpeg

Спасибо

1 Ответ

0 голосов
/ 25 марта 2012

Вы можете просто сделать это:

   <servlet-mapping>
      <servlet-name>Servlet</servlet-name>
      <url-pattern>*.*</url-pattern>
    </servlet-mapping>

и в сервлете:

private final String enabled = "^(.)+((\.jsp)|(\.html)|(\.jpeg))$";

public void service(...) {
     if (!request.getRequestURI().matches(enabled)) {
        response.sendError(401);
        return;
     }
}
...