过滤器实现自动登录
@WebFilter(filterName="AutoLoginFilter",value="/*")
public class AutoLoginFilter implements Filter{
public void destroy(){}
public void init(FilterConfig config)throws ServletException{}
public void doFilter(ServletRequest req,ServletResponse resp,FilterChain chain)throws ServletException,IOException{
HttpServletRequest request = (HttpServletRequest)req;
HttpServletResponse response = (HttpServletResponse)resp;
HttpSession session = request.getSession();
Userinfo userinfo =(Userinfo) session.getAttribute("userinfo");
if(userinfo != null)
{
chain.doFilter(req,resp);
return;
}
//读取cookie
String username = CookieUtil.read("username",request);
String password = CookieUtil.read("password",request);
if(username==null||password==null)
{
chain.doFilter(req,resp);
return;
}
else//登录
{
Userinfo user = UserinfoDAO.getDAO().findByUsername(username);
if(user!=null&&user.getEnable())
{
String pass = MD5Utils.mymd5(user.getPassword());
if(password.equals(pass)){ session.setAttribute("userinfo",user); }
}
chain.doFilter(req,resp);
return;
}
}
}