Просто сделайте это так же, с Filter
. Полезно знать, что управляемые bean-объекты области JSF находятся под прикрытием, хранящимся как атрибут HttpSession
с именем управляемого bean-компонента в качестве ключа.
Предполагая, что у вас есть управляемый компонент, такой:
@ManagedBean
@SessionScoped
public class UserManager {
private User user;
// ...
public boolean isLoggedIn() {
return (user != null);
}
}
Затем вы можете проверить это в Filter#doFilter()
следующим образом:
UserManager userManager = (UserManager) ((HttpServletRequest) request).getSession().getAttribute("userManager");
if (userManager != null && userManager.isLoggedIn()) {
chain.doFilter(request, response);
} else {
((HttpServletResponse) response).sendRedirect("login.xhtml");
}