Как заставить Tomcat ограничить доступ к одной странице JSP по IP

У меня есть веб-сайт, работающий на компьютере с Server 2008 R2, и я хотел бы ограничить доступ для конкретной страницы JSP к одному IP-адресу. В файле context.xml Tomcat я выяснил, как ограничить доступ к каталогу с помощью RemoteAddr Valve, но не могу понять, как это сделать для одного файла. Это вообще возможно?

1 ответ

Решение

Я обнаружил, что файл context.xml не подходит для такой конфигурации. На самом деле это можно сделать в файле web.xml, используя Tomcat RemoteAddrFilter. В приведенном ниже примере фильтр указывает разрешенный IP-адрес (xxxx), все остальные IP-адреса будут заблокированы. Тег "filter-mapping", который следует за разделом "filter", указывает URL-адрес, который нужно ограничить, в данном случае это страница "thing.jsp ". Эта страница ограничена для всех, кроме разрешенного IP-адреса, все остальные получат страницу 403.

<filter>
    <filter-name>Remote Address Filter</filter-name>
    <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class>
        <init-param>
            <param-name>allow</param-name>
            <param-value>x.x.x.x</param-value>
        </init-param>
</filter>

<filter-mapping>
    <filter-name>Remote Address Filter</filter-name>
    <url-pattern>/something.jsp</url-pattern>
</filter-mapping>
Другие вопросы по тегам