【发布时间】:2020-02-22 12:15:39
【问题描述】:
我正在使用 JSF 制作应用程序,如果用户未登录,我想使用 @WebFilter 将用户从每个页面(不包括 login/register.xhtml)重定向到 login.xhtml。问题是重定向后我看到的只是一个空白页。
我认为它过滤了包括 bootstrap.css 在内的所有资源,所以我使用了这样的东西:
if (req.getRequestURI().startsWith(req.getContextPath() + ResourceHandler.RESOURCE_IDENTIFIER)) {
chain.doFilter(request, response);
return;
}
但它什么也没做。
这是我的 LoginFilter.java
@WebFilter("*")
public class LoginFilter extends HttpFilter {
@Inject
CurrentSession currentSession;
@Override
protected void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain chain) throws IOException, ServletException {
String currentPath = req.getContextPath() + req.getServletPath();
if (!userIsLogged()) {
if(!currentPath.equals("/app/register.xhtml") && !currentPath.equals("/app/login.xhtml"))
res.sendRedirect(req.getContextPath() + "/login.xhtml");
}
else
chain.doFilter(req, res);
}
有人可以指导我添加什么吗?
【问题讨论】:
-
解决方案属于答案,而不是问题的编辑。请还原此内容
标签: jsf servlet-filters