1 package org.saf.struts; 2 3 import org.apache.struts.action.Action; 4 import org.apache.struts.action.ActionForm; 5 import org.apache.struts.action.ActionForward; 6 import org.apache.struts.action.ActionMapping; 7 import org.apache.struts.action.ActionServlet; 8 import org.apache.struts.action.RequestProcessor; 9 import org.apache.struts.config.ModuleConfig; 10 11 import org.saf.struts.util.RequestProcessorUtils; 12 13 import java.io.IOException; 14 15 import javax.servlet.ServletException; 16 import javax.servlet.http.HttpServletRequest; 17 import javax.servlet.http.HttpServletResponse; 18 19 20 public class SafRequestProcessor extends RequestProcessor { 21 private RequestProcessorUtils requestProcessorUtils = null; 22 23 public void init(ActionServlet actionServlet, ModuleConfig moduleConfig) 24 throws ServletException { 25 super.init(actionServlet, moduleConfig); 26 requestProcessorUtils = new RequestProcessorUtils(actionServlet, 27 moduleConfig); 28 } 29 30 protected ActionForward processActionPerform(HttpServletRequest request, 31 HttpServletResponse response, Action action, ActionForm form, 32 ActionMapping mapping) throws IOException, ServletException { 33 ActionForward forward = null; 34 35 requestProcessorUtils.doBeforeAuthorization(action, mapping, form, 36 request, response); 37 38 if (requestProcessorUtils.isAuthorized(action, mapping, form, request, 39 response)) { 40 requestProcessorUtils.doAfterAuthorization(action, mapping, form, 41 request, response); 42 forward = super.processActionPerform(request, response, action, 43 form, mapping); 44 } else { 45 forward = requestProcessorUtils.doAfterAuthorizationFailed(action, mapping, 46 form, request, response); 47 } 48 49 return forward; 50 } 51 }