Subversion Repositories bacoAlunos

Rev

Rev 1310 | Rev 1814 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 fvelez 1
package pt.estgp.estgweb.web.filters;
2
 
3
import org.apache.log4j.Logger;
697 jmachado 4
import pt.estgp.estgweb.Globals;
5
import pt.estgp.estgweb.domain.UserSessionImpl;
1 fvelez 6
 
7
import javax.servlet.*;
8
import javax.servlet.http.HttpServletRequest;
9
import javax.servlet.http.HttpServletResponse;
10
import java.io.IOException;
11
 
12
/**
13
 *
14
 * @author  Jorge Machado
15
 */
16
 
17
public class UserFilter implements 1.5.0/docs/api/java/util/logging/Filter.html">Filter {
18
 
1771 jmachado 19
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(UserFilter.class);
1 fvelez 20
 
21
 
22
    public UserFilter()
23
    {
24
    }
25
 
26
    public void init(FilterConfig config)
27
    {
28
 
29
    }
30
 
31
    /**
32
     *
33
     * @param request The servlet request we are processing
34
     * @param chain The filter chain we are processing
35
     *
36
     * @exception java.io.IOException if an input/output error occurs
37
     * @exception javax.servlet.ServletException if a servlet error occurs
38
     */
39
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
40
            throws 1.5.0/docs/api/java/io/IOException.html">IOException, ServletException
41
    {
42
        HttpServletRequest hrequest = (HttpServletRequest) request;
43
        if(((HttpServletRequest)request).getServletPath().indexOf("errorNoCookies.do")>=0 || !hrequest.isRequestedSessionIdFromCookie())
44
            chain.doFilter(request,response);
45
 
46
        UserSessionImpl userSession = (UserSessionImpl) request.getAttribute(Globals.USER_SESSION_KEY);
697 jmachado 47
 
48
        if(userSession != null && userSession.getUser() != null)
1 fvelez 49
            chain.doFilter(request,response);
697 jmachado 50
        else if(userSession == null)
51
        {
52
             logger.info("User lost Session");
53
        }
1 fvelez 54
        else
55
        {
1771 jmachado 56
            try{
57
 
58
 
59
            // ((HttpServletResponse)response).setStatus(401);
60
             ((HttpServletResponse)response).sendError(401);
61
            }catch(1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
62
            {
63
                logger.error("Error don't sending error, probably already sent: " + e);
64
            }
1 fvelez 65
        }
66
    }
67
 
68
 
69
    public void destroy()
70
    {
71
        // Nothing
72
    }
73
 
74
}