package com.ossjk.ossjkservlet.admin.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.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.ossjk.core.util.CommonUtil;
import com.ossjk.ossjkservlet.admin.system.pojo.Usr;
import com.ossjk.ossjkservlet.common.Constant;
@WebFilter(urlPatterns = "/admin/*") // 所有路径,js,css,请求。只拦截请求 *.do
public class AdminLoginFilter implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
System.out.println(httpServletRequest.getRequestURI());
if (httpServletRequest.getRequestURL().indexOf("index.do") > 1) {
String method = httpServletRequest.getParameter("method");
if (CommonUtil.isEquals(method, "toLogin") || CommonUtil.isEquals(method, "login")) {
chain.doFilter(request, response);
return;
}
}
Usr usr = (Usr) httpServletRequest.getSession().getAttribute(Constant.SESSION_USER_KEY);
if (CommonUtil.isBlank(usr)) {
// 没有登陆,弹到登陆页面
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + "/admin/system/index.do?method=toLogin");
} else {
// 登陆了,放行
chain.doFilter(request, response);
}
}
@Override
public void destroy() {
// TODO Auto-generated method stub
}
}
登陆拦截器
最新推荐文章于 2021-02-12 17:41:22 发布