2010-07-15 4 views

Répondre

4

Lors de la connexion, placez l'objet User trouvé dans la session.

String username = request.getParameter("username"); 
String password = request.getParameter("password"); 
User user = userDAO.find(username, password); 
if (user != null) { 
    request.getSession().setAttribute("user", user); 
    response.sendRedirect("secured/userpage"); 
} else { 
    request.setAttribute("error", "Unknown username/password combo, please try again"); 
    request.getRequestDispatcher("/WEB-INF/login.jsp").forward(request, response); 
} 

mettre en œuvre ensuite un Filter qui vérifie juste la présence de l'utilisateur connecté à la session.

if (((HttpServletRequest) request).getSession().getAttribute("user") != null) { 
    chain.doFilter(request, response); // Logged in, so just continue. 
} else { 
    response.sendRedirect("login"); // Not logged in, redirect to login page. 
} 

Carte ce filtre sur un modèle d'URL de /secured/* (ou toute autre chose que vous voulez) et de mettre les pages sécurisées comme la page d'information d'utilisateur dans le même dossier. Pour vous déconnecter d'un utilisateur, faites simplement session.removeAttribute("user") ou, plus radicalement, session.invalidate().

Questions connexes