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.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.log4j.Logger;
import com.ttmtech.sme.bean.Login;
import com.ttmtech.sme.bean.LoginBean;
public class LoginFilter implements Filter {
private Logger log = Logger.getLogger(this.getClass());
private Login lb;
@Override
public void destroy() {
log.warn("destroy");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) servletRequest;
HttpServletResponse resp = (HttpServletResponse) servletResponse;
/**page with no cache*/
resp.setHeader("Cache-Control", "no-cache");
resp.setHeader("Pragma", "no-cache");
resp.setDateHeader("Expires", -1);
String loginName = req.getParameter("loginName");
String password = req.getParameter("password");
String currentURL = req.getRequestURI();
HttpSession session = req.getSession();
if(currentURL.indexOf("/processLogin")>0) {
if(lb.checkUser(loginName, password)){
log.warn("************User Login :"+loginName+"****************");
}else{
resp.sendRedirect(req.getContextPath()+"/webapp/base/no_auther.jsp");
}
chain.doFilter(req, resp);
}else if(currentURL.indexOf("/logoff")>0){
if(session != null){
session.invalidate();
}
resp.sendRedirect(req.getContextPath());
}else{
chain.doFilter(req, resp);
}
}
@Override
public void init(FilterConfig config) throws ServletException {
lb = new LoginBean();
log.warn("init");
}
}