81041
2019-06-20 c31b9d6c2ef028d49af15cad4738e93748df436c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
package com.fgkj.Filters;
 
import java.io.IOException;
import java.io.PrintWriter;
 
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 com.fgkj.actions.ActionUtil;
import com.fgkj.dao.CheckMobile;
import com.fgkj.dto.User_inf;
import com.fgkj.dto.Vip_user;
 
public class LoginFilter extends ActionUtil implements Filter {
 
    public void destroy() {
        
    }
 
    public void doFilter(ServletRequest req, ServletResponse resp,
            FilterChain chain) throws IOException, ServletException {
        HttpServletRequest request=(HttpServletRequest)req;
        String URL=request.getRequestURI();
        String[] uri=request.getRequestURI().split("/");
        String source=uri[uri.length-1];
        //System.out.println(source);
        User_inf user=(User_inf)ActionUtil.getSession().getAttribute("user");
        Vip_user vuser=(Vip_user)ActionUtil.getSession().getAttribute("vip");
        if(("login.jsp").equals(source)|| ("loginm.html").equals(source) || ("gx_tieta").equals(source) || ("CheckClient.jsp").equals(source)){
            chain.doFilter(req, resp);        
        }else if(user!=null && !source.equals("navConfig.jsp")){
            chain.doFilter(req, resp);
        }else if(vuser!=null && source.equals("navConfig.jsp")){
            chain.doFilter(req, resp);
        }else{
            //System.out.println("还未登陆请登陆 LoginFilter");
            PrintWriter out=ActionUtil.getOut();
            //判断当前登陆的是手机端还是web端
            if(CheckIsMobile(request)){
                out.print("<script charset='UTF-8'>window.location.href='loginm.html'</script>");
            }else{                
                out.print("<script charset='UTF-8'>window.location.href='login.jsp'</script>");
            }        
            //out.print("<script charset='UTF-8'>alert('"+getText("You are not logged in, please log in")+"');window.location.href='login.jsp'</script>");
        }
    }
 
    public void init(FilterConfig arg0) throws ServletException {
        //System.out.println("初始化过滤器");
    }
 
    
    public static boolean CheckIsMobile(HttpServletRequest request){
        String userAgent = getRequest().getHeader( "USER-AGENT" ).toLowerCase();    
        if(null == userAgent){    
            userAgent = "";    
        }  
        return CheckMobile.check(userAgent);  
    }
}