1 9 package com.dotmarketing.filters; 10 11 import java.io.IOException ; 12 13 import javax.servlet.Filter ; 14 import javax.servlet.FilterChain ; 15 import javax.servlet.FilterConfig ; 16 import javax.servlet.ServletException ; 17 import javax.servlet.ServletRequest ; 18 import javax.servlet.ServletResponse ; 19 import javax.servlet.http.HttpServletRequest ; 20 import javax.servlet.http.HttpServletResponse ; 21 import javax.servlet.http.HttpSession ; 22 23 import org.apache.commons.logging.LogFactory; 24 import org.apache.struts.Globals; 25 import org.apache.struts.action.ActionMessage; 26 import org.apache.struts.action.ActionMessages; 27 28 import com.dotmarketing.util.WebKeys; 29 30 public class LoginRequiredFilter implements Filter { 31 32 33 public void destroy() { 34 35 } 36 37 38 public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException , ServletException { 39 40 HttpServletResponse response = (HttpServletResponse ) res; 41 HttpServletRequest request = (HttpServletRequest ) req; 42 HttpSession session = request.getSession(); 43 44 boolean ADMIN_MODE = (session.getAttribute(com.dotmarketing.util.WebKeys.ADMIN_MODE_SESSION) != null); 45 46 if (session.getAttribute(WebKeys.CMS_USER) == null && !ADMIN_MODE) { 48 LogFactory.getLog(LoginRequiredFilter.class).warn( 49 "Doing LoginRequiredFilter for RequestURI: " + request.getRequestURI() + "?" + request.getQueryString()); 50 51 session.setAttribute(WebKeys.REDIRECT_AFTER_LOGIN, request.getRequestURI() + "?" + request.getQueryString()); 53 54 ActionMessages ams = new ActionMessages(); 55 ams.add(Globals.MESSAGE_KEY, new ActionMessage("message.login.required")); 56 session.setAttribute(Globals.MESSAGE_KEY, ams); 57 response.sendError(401); 58 return; 59 } 60 61 chain.doFilter(req, response); 62 } 63 64 public void init(FilterConfig con) throws ServletException { 65 66 } 67 } | Popular Tags |