소스 검색

Patch by Mark St.Godard to resolve issues with WebSphere 5.

Ben Alex 21 년 전
부모
커밋
04dea9e403

+ 2 - 1
core/src/main/java/org/acegisecurity/ui/AbstractProcessingFilter.java

@@ -204,7 +204,8 @@ public abstract class AbstractProcessingFilter implements Filter,
         HttpServletRequest httpRequest = (HttpServletRequest) request;
         HttpServletResponse httpResponse = (HttpServletResponse) response;
 
-        if (filterProcessesUrl.equals(httpRequest.getServletPath())) {
+        if (httpRequest.getRequestURL().toString().endsWith(httpRequest
+                .getContextPath() + filterProcessesUrl)) {
             if (logger.isDebugEnabled()) {
                 logger.debug("Request is to process authentication");
             }

+ 7 - 0
core/src/test/java/org/acegisecurity/ui/AbstractProcessingFilterTests.java

@@ -100,6 +100,7 @@ public class AbstractProcessingFilterTests extends TestCase {
         // Setup our HTTP request
         MockHttpServletRequest request = new MockHttpServletRequest("");
         request.setServletPath("/j_mock_post");
+        request.setRequestURL("http://www.example.com/mycontext/j_mock_post");
 
         // Setup our filter configuration
         MockFilterConfig config = new MockFilterConfig();
@@ -124,6 +125,8 @@ public class AbstractProcessingFilterTests extends TestCase {
         // Setup our HTTP request
         MockHttpServletRequest request = new MockHttpServletRequest("");
         request.setServletPath("/j_OTHER_LOCATION");
+        request.setRequestURL(
+            "http://www.example.com/mycontext/j_OTHER_LOCATION");
 
         // Setup our filter configuration
         MockFilterConfig config = new MockFilterConfig();
@@ -167,6 +170,7 @@ public class AbstractProcessingFilterTests extends TestCase {
         // Setup our HTTP request
         MockHttpServletRequest request = new MockHttpServletRequest("");
         request.setServletPath("/some.file.html");
+        request.setRequestURL("http://www.example.com/mycontext/some.file.html");
 
         // Setup our filter configuration
         MockFilterConfig config = new MockFilterConfig();
@@ -188,6 +192,7 @@ public class AbstractProcessingFilterTests extends TestCase {
         // Setup our HTTP request
         MockHttpServletRequest request = new MockHttpServletRequest("");
         request.setServletPath("/j_mock_post");
+        request.setRequestURL("http://www.example.com/mycontext/j_mock_post");
 
         // Setup our filter configuration
         MockFilterConfig config = new MockFilterConfig();
@@ -284,6 +289,7 @@ public class AbstractProcessingFilterTests extends TestCase {
         // Setup our HTTP request
         MockHttpServletRequest request = new MockHttpServletRequest("");
         request.setServletPath("/j_mock_post");
+        request.setRequestURL("http://www.example.com/mycontext/j_mock_post");
 
         // Setup our filter configuration
         MockFilterConfig config = new MockFilterConfig();
@@ -328,6 +334,7 @@ public class AbstractProcessingFilterTests extends TestCase {
         // Setup our HTTP request
         MockHttpServletRequest request = new MockHttpServletRequest("");
         request.setServletPath("/j_mock_post");
+        request.setRequestURL("http://www.example.com/mycontext/j_mock_post");
         request.getSession().setAttribute(AbstractProcessingFilter.ACEGI_SECURITY_TARGET_URL_KEY,
             "/my-destination");