У меня есть веб-сайт, работающий на машине Server 2008 R2, и я хотел бы ограничить доступ к определенной странице jsp одним IP-адресом. В файле Tomcat context.xml я выяснил, как ограничить доступ к каталогу с помощью RemoteAddr Valve, но не могу понять, как это сделать для одного файла. Это вообще возможно?
Я обнаружил, что файл context.xml не подходит для такой конфигурации. Фактически это можно сделать в файле web.xml с помощью Tomcat RemoteAddrFilter. В приведенном ниже примере фильтр определяет разрешенный IP-адрес (x.x.x.x), все остальные IP-адреса будут заблокированы. Тег «filter-mapping», следующий за разделом «filter», указывает URL-адрес для ограничения, в данном случае страницу «something.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>