在登录时,将找到的
User对象放入会话中。
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);}然后实施一个
Filter仅检查会话中已登录用户的存在的。
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.}将此过滤器映射到
/secured/*(或您想要的任何其他形式)的URL模式,并将受保护的页面(如用户信息页面)放在同一文件夹中。
要注销用户,只需执行,
session.removeAttribute("user")或者更彻底地执行session.invalidate()。



