package com.filter;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.service.LoginServiceImpl;
import com.util.CookieUitl;
@WebFilter("/*")
public class LoginFiler implements Filter {
@Override
public void destroy() {
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) resp;
if(request.getRequestURI().contains("login")) {//如果访问login
chain.doFilter(request, response);
return;
}else {
String username = (String) request.getSession().getAttribute("username");
if(username==null) {
String val = CookieUitl.getCookieValByKey("auto", request);
if(val!= null&& !val.equals("")) {
String name = val.split("_")[0];
String pass = val.split("_")[1];
if(new LoginServiceImpl().login(name, pass)) {
request.getSession().setAttribute("username", name);
chain.doFilter(request, response);
return;
}else {
response.sendRedirect("login.jsp");
}
}else {
response.sendRedirect("login.jsp");
}
}else {
chain.doFilter(request, response);
return;
}
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
}
}