| | |
| | | package com.fgkj.Filters; |
| | | |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.io.PrintWriter; |
| | | import java.util.List; |
| | | |
| | | 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.*; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | |
| | |
| | | import com.fgkj.dto.User; |
| | | import com.fgkj.dto.User_inf; |
| | | import com.fgkj.dto.Vip_user; |
| | | import org.apache.struts2.ServletActionContext; |
| | | |
| | | public class LoginFilter implements Filter { |
| | | |
| | |
| | | |
| | | public void doFilter(ServletRequest req, ServletResponse resp, |
| | | FilterChain chain) throws IOException, ServletException { |
| | | HttpServletRequest request=(HttpServletRequest)req; |
| | | HttpServletRequest request = (HttpServletRequest) req; |
| | | HttpServletResponse response = (HttpServletResponse) resp; |
| | | String queryString = request.getQueryString(); |
| | | |
| | | String URL=request.getRequestURI(); |
| | | String[] uri=request.getRequestURI().split("/"); |
| | | String source=uri[uri.length-1]; |
| | | //String URL = request.getRequestURI(); |
| | | String servletPath = request.getServletPath(); |
| | | /*String realPath = request.getRealPath("/"); |
| | | |
| | | String URL2 = servletPath.substring(1,servletPath.length()); |
| | | URL2 = URL2.replace("/",File.separator); |
| | | //List fileList = (List) request.getServletContext().getAttribute("file"); |
| | | List fileList = (List) request.getSession().getServletContext().getAttribute("file"); |
| | | if(!fileList.contains(realPath+URL2)){ |
| | | response.setStatus(302); |
| | | req.getRequestDispatcher("/no_page.html").forward(req,response); |
| | | return; |
| | | }*/ |
| | | if(!servletPath.equals("/index.html")){ |
| | | response.setStatus(302); |
| | | req.getRequestDispatcher("/no_page.html").forward(req,response); |
| | | return; |
| | | } |
| | | |
| | | //System.out.println(source); |
| | | ActionUtil.getSession(); |
| | | User_inf user=(User_inf)ActionUtil.getSession().getAttribute("user"); |
| | | Vip_user vuser=(Vip_user)ActionUtil.getSession().getAttribute("vip"); |
| | | User_inf user = (User_inf) ActionUtil.getSession().getAttribute("user"); |
| | | Vip_user vuser = (Vip_user) ActionUtil.getSession().getAttribute("vip"); |
| | | /*if(source.equals("login.jsp") || source.equals("fuguang") || source.equals("CheckClient.jsp")){ |
| | | chain.doFilter(req, resp); |
| | | }else if(user!=null && !source.equals("navConfig.jsp")){ |
| | |
| | | //out.print("<script charset='UTF-8'>alert('"+getText("You are not logged in, please log in")+"');window.location.href='login.jsp'</script>"); |
| | | }*/ |
| | | //如果是登录操作 |
| | | if("login".equals(queryString)) { |
| | | chain.doFilter(req, resp); |
| | | //如果不是登录操作 |
| | | }else if(user!=null|vuser!=null){ |
| | | chain.doFilter(req, resp); |
| | | }else{ |
| | | if ("login".equals(queryString)) { |
| | | chain.doFilter(req, response); |
| | | //如果不是登录操作 |
| | | } else if (user != null | vuser != null) { |
| | | chain.doFilter(req, response); |
| | | } else { |
| | | chain.doFilter(req, response); |
| | | //System.out.println("还未登陆请登陆 LoginFilter"); |
| | | PrintWriter out=ActionUtil.getOut(); |
| | | out.print("<script charset='UTF-8'>window.location.href='index.html?login'</script>"); |
| | | //PrintWriter out=ActionUtil.getOut(); |
| | | //out.print("<script charset='UTF-8'>window.location.href='index.html?login'</script>"); |
| | | //out.print("<script charset='UTF-8'>alert('"+getText("You are not logged in, please log in")+"');window.location.href='login.jsp'</script>"); |
| | | } |
| | | } |