Bläddra i källkod

SEC-324: Ensure IllegalStateException no longer occurs.

Ben Alex 19 år sedan
förälder
incheckning
7313d5def0
1 ändrade filer med 5 tillägg och 13 borttagningar
  1. 5 13
      core/src/main/java/org/acegisecurity/ui/AccessDeniedHandlerImpl.java

+ 5 - 13
core/src/main/java/org/acegisecurity/ui/AccessDeniedHandlerImpl.java

@@ -62,21 +62,13 @@ public class AccessDeniedHandlerImpl implements AccessDeniedHandler {
 
             // Perform RequestDispatcher "forward"
             RequestDispatcher rd = request.getRequestDispatcher(errorPage);
-
-            try {
-                rd.forward(request, response);
-                ((HttpServletResponse) response).setStatus(HttpServletResponse.SC_FORBIDDEN);
-
-                return;
-            } catch (Exception responseCommitted) {
-                if (logger.isErrorEnabled()) {
-                    logger.error("Error processing " + request.toString(), responseCommitted);
-                }
-            }
+        	rd.forward(request, response); 
         }
 
-        // Send 403 (we do this after response has been written)
-        ((HttpServletResponse) response).sendError(HttpServletResponse.SC_FORBIDDEN, accessDeniedException.getMessage());
+        if (!response.isCommitted()) {
+            // Send 403 (we do this after response has been written)
+            ((HttpServletResponse) response).sendError(HttpServletResponse.SC_FORBIDDEN, accessDeniedException.getMessage());
+        }
     }
 
     /**