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 }