Он должен находиться внутри вашего <Context>
элемента в server.xml:
<Context
path="/tcadmin"
docBase="${catalina.home}/server/webapps/admin"
privileged="true"
>
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1"
/>
</Context>
Просто помните, что строковые значения - это шаблоны регулярных выражений, поэтому специальные символы регулярных выражений (например, точка (.)) Должны быть экранированы обратными слешами.
РЕДАКТИРОВАТЬ : в ответ на комментарий ОП.
Я думаю, что вам нужно внедрить FILTER в ваше веб-приложение и настроить его для приема или отклонения запросов на основе их IP-адреса удаленного адреса. Удаленный адрес можно получить из объекта ServletRequest
, переданного в метод doFilter
.
Вы объявляете фильтр в файле web.xml:
<filter>
<filter-name>GatekeeperFilter</filter-name>
<filter-class>your.package.GatekeeperFilter</filter-class>
<init-param>
<param-name>allowedNetwork</param-name>
<param-value>192\.168\.2\.*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>GatekeeperFilter</filter-name>
<url-pattern>/path/to/protected/folder</url-pattern>
</filter-mapping>
Прочтите связанную статью о том, что нужно сделать, чтобы принять параметры инициализации. Я думаю, что для принятия решения вы можете безбожно скопировать код из RequestDumperValve.