Ответ 1
Под обложками JSF сохраняет управляемый сеанс beans как атрибут HttpSession
с управляемым именем bean как ключ.
Итак, при условии, что у вас есть @ManagedBean @SessionScoped public class User {}
, это должно быть сделано внутри метода doFilter()
:
HttpSession session = ((HttpServletRequest) request).getSession(false);
User user = (session != null) ? (User) session.getAttribute("user") : null;
if (user != null && user.isLoggedIn()) {
// Logged in.
}
Или, если вы фактически используете CDI вместо JSF для управления beans, просто используйте @Inject
непосредственно в фильтре.