如何让Tomcat限制通过IP访问单个jsp页面

如何让Tomcat限制通过IP访问单个jsp页面

我有一个在 Server 2008 R2 机器上运行的网站,我想将特定 jsp 页面的访问限制为单个 IP 地址。在 Tomcat 的 context.xml 文件中,我弄清楚了如何使用 RemoteAddr Valve 限制对目录的访问,但我不知道如何对单个文件执行此操作。这可能吗?

答案1

我发现 context.xml 文件不是进行此类配置的正确位置。实际上,可以使用 Tomcat 的 RemoteAddrFilter 在 web.xml 文件中完成此操作。在下面给出的示例中,过滤器指定允许一个 IP(xxxx),所有其他 IP 都将被阻止。“filter”部分后面的“filter-mapping”标签指定要限制的 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>

相关内容