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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.hlx.entity.Depts;
//必须进行登录!否则拦截!
@WebFilter(filterName = "LoginFilter", urlPatterns = "*.jsp")
public class LoginFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest req, ServletResponse resp,
FilterChain chain) throws IOException, ServletException {
// 请求对象
HttpServletRequest request = (HttpServletRequest) req;
// 响应对象
HttpServletResponse response = (HttpServletResponse) resp;
// 会话对象
HttpSession session = request.getSession(true);
// 请求路径
String url = request.getRequestURI();
System.out.println(url);
// 获得对象
Depts dept = (Depts) session.getAttribute("depts");
if (dept == null && url.indexOf("login.jsp") == -1) {
String location = "login.jsp";
request.getRequestDispatcher(location).forward(request, response);
System.out.println("成功拦截到入侵网站后台 : " + url);
//清空缓存
response.setHeader("Cache-Control", "no-store");
response.setDateHeader("Expires", 0);
response.setHeader("Pragma", "no-cache");
} else {
chain.doFilter(request, response);
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
SSH 登录拦截器(过滤器)!
最新推荐文章于 2022-01-27 15:25:58 发布