Rev 1310 |
Rev 1814 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package pt.estgp.estgweb.web.filters;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.UserSessionImpl;
import javax.servlet.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
*
* @author Jorge Machado
*/
public class UserFilter
implements 1.5.0/docs/api/java/util/logging/Filter.html">Filter {
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);
public UserFilter
()
{
}
public void init
(FilterConfig config
)
{
}
/**
*
* @param request The servlet request we are processing
* @param chain The filter chain we are processing
*
* @exception java.io.IOException if an input/output error occurs
* @exception javax.servlet.ServletException if a servlet error occurs
*/
public void doFilter
(ServletRequest request, ServletResponse response, FilterChain chain
)
throws 1.5.0/docs/api/java/io/IOException.html">IOException, ServletException
{
HttpServletRequest hrequest =
(HttpServletRequest
) request
;
if(((HttpServletRequest
)request
).
getServletPath().
indexOf("errorNoCookies.do")>=0 ||
!hrequest.
isRequestedSessionIdFromCookie())
chain.
doFilter(request,response
);
UserSessionImpl userSession =
(UserSessionImpl
) request.
getAttribute(Globals.
USER_SESSION_KEY);
if(userSession
!=
null && userSession.
getUser() !=
null)
chain.
doFilter(request,response
);
else if(userSession ==
null)
{
logger.
info("User lost Session");
}
else
{
try{
// ((HttpServletResponse)response).setStatus(401);
((HttpServletResponse
)response
).
sendError(401
);
}catch(1.5.0/docs/api/java/lang/Throwable.html">Throwable e
)
{
logger.
error("Error don't sending error, probably already sent: " + e
);
}
}
}
public void destroy
()
{
// Nothing
}
}