如何避免某些网络外部对Java Web Application servlet的请求?

时间:2018-11-14 19:39:05

标签: java servlets filter

我正在尝试构建仅应从特定网络内部访问的Web应用程序,可以说是公司的网络。如果有人从公司网络外部尝试该应用程序的URL,则应拒绝访问。我知道我可以使用doFilter方法执行此任务。但是我不确定如何开始检查仅来自公司网络内部的请求。

任何人都可以指出我任何有用的资源或告诉我如何在Java中实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

尝试实施

public void doFilter(ServletRequest request, ServletResponse response,
                 FilterChain filterChain)  throws IOException, ServletException {

String validParams = request.getParameter("validParams");

if(!"blockTheRequest".equals(validParams)){
    filterChain.doFilter(request, response);
    return;
}

HttpResponse httpResponse = (HttpResponse) httpResponse;
httpResponse.getWriter().write("a different response... e.g in HTML");
}

,您需要在web.xml中进行配置

<filter>
    <filter-name>yourFilterURL</filter-name>
    <filter-class>servlets.SimpleServletFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>yourFilterURL</filter-name>
    <url-pattern>*.pattern</url-pattern>
</filter-mapping>