Einstellung/erste session Attribut in JSF

Bin ich versucht zu implementieren einfache log-in-Funktionalität in einer JSF-Anwendung. Nach dieser Antwort, implementierte ich eine AuthenticationFilter. Ich bin versucht, ein Objekt in meinem managed bean als :

FacesContext facesContext = FacesContext.getCurrentInstance();
HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(true);
session.setAttribute("user", user);

doFilter Methode der AuthenticationFilter sieht wie folgt aus:

    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException {

       if (((HttpServletRequest) req).getSession().getAttribute("user") == null){   
            ((HttpServletResponse) resp).sendRedirect("../login.jsf");

       } else {
         chain.doFilter(req, resp);
       }
   }

Bekomme ich immer ((HttpServletRequest) req).getSession().getAttribute("user") == null (true). Ich habe gesucht und angewendet, viele alternativen wie (in meinem bean) :

facesContext.getExternalContext().getSessionMap().put("user", user);
request.getSession().setAttribute("user", user);
session.getServletContext().setAttribute("user", user); //DISASTER 

Ich habe keine Ahnung, wie die Verwaltung in dieser Sache. Scheinbar doppelte Frage did ' NT helfen. Was mache ich falsch? Wie kann ich machen, damit es funktioniert? Gibt es einen guten und sauberen Weg, es zu tun mit JSF Fähigkeiten?

Ist die JSESSIONID cookie richtig gepflegt über Anfragen durch den browser? Verfolgen Sie den HTTP-Verkehr.

InformationsquelleAutor Umer Hayat | 2012-06-15

Schreibe einen Kommentar