如何在jsf中禁用应用程序的特定部分?

was*_*lli 3 java jsf servlets

我有一个JSF应用程序,其中我有不同的servlet和facelets.服务器是真正的IP.现在我想要的是,一个servlet可以从任何地方在线访问,应用程序的其余部分只能通过localhost访问?最简单的方法是什么?

Bal*_*usC 5

使用Filter映射url-pattern覆盖您要隐藏的资源的映射,在doFilter()方法中基本如下:

if (request.getRemoteAddr().equals(request.getLocalAddr())) {
    chain.doFilter(request, response);
} else {
    ((HttpServletResponse) response).sendError(HttpServletResponse.SC_FORBIDDEN);
}
Run Code Online (Sandbox Code Playgroud)

对于不是由服务器运行的同一客户端发起的请求,它将显示HTTP 403FORBIDDEN错误.