Блокировка определенной урны в веб-приложении tomcat - PullRequest
0 голосов
/ 26 сентября 2019

У нас есть особая потребность, когда нам нужно заблокировать определенную урну в веб-приложении. Например, у нас есть веб-приложение / siebel, под ним / siebel / app / это должно работать, но / siebel / smc не должно

Попытался указать путь к контексту, как в папке / META-INF context.xml

<Context path="/siebel/smc" debug="0" privileged="true">
 <Valve className="org.apache.catalina.valves.RemoteAddrValve" 
  allow="127.0.0.1"/>
</Context>

, также попытался

<Context antiJARLocking="true" path="/siebel/smc">
 <Valve className="org.apache.catalina.valves.RemoteIpValve" />
 <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127.0.0.1" />
</Context>

Это приводит к блокировке обоих URL / siebel / smcи / siebel / app

Попытка добавления контекстного пути также в server.xml, тот же результат.Играется с опцией deny с deny = "*", но все так же.

Есть ли способ справиться с этим?

Спасибо

1 Ответ

1 голос
/ 27 сентября 2019

ОК, тогда.У вас правильная идея, но вы применяете ее не в том месте.META-INF/context.xml применяется только к веб-приложению, в котором он находится, и атрибут пути игнорируется (путь будет получен из имени WAR / dir).

Я предполагаю, что веб-приложение развернуто в webapps/siebel.war или webapps/siebel и что контекстный путь для этого веб-приложения - '/siebel`.

Мы собираемся воспользоваться требованием спецификации сервлета, которое при сопоставлении URI с веб-приложениямиФильтры и сервлеты, первый шаг - выбрать веб-приложение, найдя наиболее подходящий контекстный путь.Поэтому, если мы развернем новое веб-приложение в /siebel/smc и заблокируем весь доступ, это должно дать желаемый эффект.

При условии установки Tomcat по умолчанию (с неизмененными именами движка и хоста) поместите следующий контент на $CATALINA_BASE/conf/Catalina/localhost/siebel#smc.xml

<Context>
  <Valve className="org.apache.catalina.valves.RemoteAddrValve" deny=".*"/>
</Context>

Вам также необходимо создать пустой каталог $CATALINA_BASE/webapps/siebel#smc

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...