2013-05-27 20 views
5

IP adreslerine göre tomcat sunucumda hangi URL'lere erişilebileceğini kısıtlamaya çalışıyorum. Ne yapmaya çalıştığım, tomcat loopback adresleriyle (yani localhost) erişildiğinde ve yalnızca diğer tüm uzak IP'ler için belirli alanlara erişime izin verildiğinde her yere erişim izni vermek. Conf/web.xml dosyasında aşağıdaki iki filtrem var ama istediğim gibi davranmıyorlar. Şu anda tüm uzaktan erişim engellendi (istediğim değil) ve tüm yerel erişime izin veriliyor (istediğim). Tüm IP adreslerinin/şartlarına/izin vermesine izin vermek için tomcat'i alamıyorum/,/help/, vb.Birden çok Tomcat Container Sağlanan Filtresini Kullanma (Uzak Adres Filtresi)

Herhangi bir işaretçi büyük beğeni topladı.

<!-- ================== Built In Filter Definitions ===================== --> 

<filter> 
    <filter-name>Restrict Remote Filter</filter-name> 
    <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class> 
    <init-param> 
     <param-name>allow</param-name> 
     <param-value>\d+\.\d+\.\d+\.\d+</param-value> <!-- for any IP address, * not allowed here --> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>Restrict Remote Filter</filter-name> 
    <url-pattern>/terms/*, /help/*, /messagebroker/*</url-pattern> <!-- allow access to these areas only --> 
</filter-mapping> 

<filter> 
    <filter-name>Allow Localhost Filter</filter-name> 
    <filter-class>org.apache.catalina.filters.RemoteAddrFilter</filter-class> 
    <init-param> 
     <param-name>allow</param-name> 
     <param-value>127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1</param-value> <!-- for localhost access… --> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>Allow Localhost Filter</filter-name> 
    <url-pattern>/*</url-pattern> <!-- access all areas --> 
</filter-mapping> 

cevap

3
<url-pattern>/terms/*, /help/*, /messagebroker/*</url-pattern> 

karakter, biliyorum kadarıyla, her model için ayrı URL-desen deneyin "" (virgül) özel karakter olarak tanınan ancak url bir parçası değildir. Bunu deneyin:

<url-pattern>/terms/*</url-pattern> 
<url-pattern>/help/*</url-pattern> 
<url-pattern>/messagebroker/*</url-pattern> 
İlgili konular