This is primarily used for concurrent session support.
- *Sessions have three states: active, expired, and destroyed. A session can that is invalidated by + *
+ * This is primarily used for concurrent session support. + *
+ * Sessions have three states: active, expired, and destroyed. A session can that is invalidated by
* session.invalidate() or via Servlet Container management is considered "destroyed". An "expired"
* session, on the other hand, is a session that Spring Security wants to end because it was selected for removal for
* some reason (generally as it was the least recently used session and the maximum sessions for the user were
- * reached). An "expired" session is removed as soon as possible by a Filter.
Filter.
*
* @author Ben Alex
* @version $Id$
diff --git a/core/src/main/java/org/springframework/security/context/InheritableThreadLocalSecurityContextHolderStrategy.java b/core/src/main/java/org/springframework/security/context/InheritableThreadLocalSecurityContextHolderStrategy.java
index cbb90d0a42..4a7926acf3 100644
--- a/core/src/main/java/org/springframework/security/context/InheritableThreadLocalSecurityContextHolderStrategy.java
+++ b/core/src/main/java/org/springframework/security/context/InheritableThreadLocalSecurityContextHolderStrategy.java
@@ -26,7 +26,7 @@ import org.springframework.util.Assert;
* @version $Id$
*
* @see java.lang.ThreadLocal
- * @see org.springframework.security.context.SecurityContextPersistenceFilter
+ * @see org.springframework.security.context.web.SecurityContextPersistenceFilter
*/
public class InheritableThreadLocalSecurityContextHolderStrategy implements SecurityContextHolderStrategy {
//~ Static fields/initializers =====================================================================================
diff --git a/core/src/main/java/org/springframework/security/context/SecurityContextHolder.java b/core/src/main/java/org/springframework/security/context/SecurityContextHolder.java
index 67673f0b1b..4ea2697173 100644
--- a/core/src/main/java/org/springframework/security/context/SecurityContextHolder.java
+++ b/core/src/main/java/org/springframework/security/context/SecurityContextHolder.java
@@ -43,7 +43,7 @@ import java.lang.reflect.Constructor;
* @author Ben Alex
* @version $Id$
*
- * @see org.springframework.security.context.HttpSessionContextIntegrationFilter
+ * @see org.springframework.security.context.web.HttpSessionContextIntegrationFilter
*/
public class SecurityContextHolder {
//~ Static fields/initializers =====================================================================================
@@ -138,7 +138,7 @@ public class SecurityContextHolder {
/**
* Delegates the creation of a new, empty context to the configured strategy.
*/
- static SecurityContext createEmptyContext() {
+ public static SecurityContext createEmptyContext() {
return strategy.createEmptyContext();
}
diff --git a/core/src/main/java/org/springframework/security/context/ThreadLocalSecurityContextHolderStrategy.java b/core/src/main/java/org/springframework/security/context/ThreadLocalSecurityContextHolderStrategy.java
index a6a7e2954f..00a72a8950 100644
--- a/core/src/main/java/org/springframework/security/context/ThreadLocalSecurityContextHolderStrategy.java
+++ b/core/src/main/java/org/springframework/security/context/ThreadLocalSecurityContextHolderStrategy.java
@@ -25,7 +25,7 @@ import org.springframework.util.Assert;
* @version $Id$
*
* @see java.lang.ThreadLocal
- * @see org.springframework.security.context.SecurityContextPersistenceFilter
+ * @see org.springframework.security.context.web.SecurityContextPersistenceFilter
*/
public class ThreadLocalSecurityContextHolderStrategy implements SecurityContextHolderStrategy {
//~ Static fields/initializers =====================================================================================
diff --git a/core/src/main/java/org/springframework/security/context/package.html b/core/src/main/java/org/springframework/security/context/package.html
index 6684b8943b..8b9530cc79 100644
--- a/core/src/main/java/org/springframework/security/context/package.html
+++ b/core/src/main/java/org/springframework/security/context/package.html
@@ -1,8 +1,7 @@
Classes related to the establishment of a security context for the duration of a request (such as
-an HTTP or RMI invocation) and for the maintenance of the context between requests (by storing it in an HTTP sessio, for
-example).
+an HTTP or RMI invocation).
A security context is associated with the current execution thread for the duration of the request, making the
authentication information it contains available throughout all the layers of an application.
diff --git a/core/src/main/java/org/springframework/security/event/SessionCreationEvent.java b/core/src/main/java/org/springframework/security/event/SessionCreationEvent.java
new file mode 100644
index 0000000000..5cdbd586cc
--- /dev/null
+++ b/core/src/main/java/org/springframework/security/event/SessionCreationEvent.java
@@ -0,0 +1,18 @@
+package org.springframework.security.event;
+
+import org.springframework.context.ApplicationEvent;
+
+/**
+ * Generic session creation event which indicates that a session (potentially
+ * represented by a security context) has begun.
+ *
+ * @author Luke Taylor
+ * @version $Id$
+ * @since 2.5
+ */
+public abstract class SessionCreationEvent extends ApplicationEvent {
+
+ public SessionCreationEvent(Object source) {
+ super(source);
+ }
+}
diff --git a/core/src/main/java/org/springframework/security/event/SessionDestroyedEvent.java b/core/src/main/java/org/springframework/security/event/SessionDestroyedEvent.java
new file mode 100644
index 0000000000..4bad7e7c27
--- /dev/null
+++ b/core/src/main/java/org/springframework/security/event/SessionDestroyedEvent.java
@@ -0,0 +1,26 @@
+package org.springframework.security.event;
+
+import org.springframework.context.ApplicationEvent;
+import org.springframework.security.context.SecurityContext;
+
+/**
+ * Generic "session termination" event which indicates that a session (potentially
+ * represented by a security context) has ended.
+ *
+ * @author Luke Taylor
+ * @version $Id$
+ * @since 2.5
+ */
+public abstract class SessionDestroyedEvent extends ApplicationEvent {
+
+ public SessionDestroyedEvent(Object source) {
+ super(source);
+ }
+
+ /**
+ * Provides the SecurityContext under which the session was running.
+ *
+ * @return the SecurityContext associated with the session, or null if there is no context.
+ */
+ public abstract SecurityContext getSecurityContext();
+}
diff --git a/core/src/main/java/org/springframework/security/expression/SecurityExpressionHandler.java b/core/src/main/java/org/springframework/security/expression/MethodSecurityExpressionHandler.java
similarity index 80%
rename from core/src/main/java/org/springframework/security/expression/SecurityExpressionHandler.java
rename to core/src/main/java/org/springframework/security/expression/MethodSecurityExpressionHandler.java
index 36e1fe25c7..55a95a91c1 100644
--- a/core/src/main/java/org/springframework/security/expression/SecurityExpressionHandler.java
+++ b/core/src/main/java/org/springframework/security/expression/MethodSecurityExpressionHandler.java
@@ -5,17 +5,16 @@ import org.springframework.expression.EvaluationContext;
import org.springframework.expression.Expression;
import org.springframework.expression.ExpressionParser;
import org.springframework.security.Authentication;
-import org.springframework.security.intercept.web.FilterInvocation;
/**
- * Facade which isolates Spring Security's requirements from the implementation of the underlying
- * expression objects.
+ * Facade which isolates Spring Security's requirements for evaluation method-security expressions
+ * from the implementation of the underlying expression objects.
*
* @author Luke Taylor
* @version $Id$
* @since 2.5
*/
-public interface SecurityExpressionHandler {
+public interface MethodSecurityExpressionHandler {
/**
* @return an expression parser for the expressions used by the implementation.
*/
@@ -26,11 +25,6 @@ public interface SecurityExpressionHandler {
*/
EvaluationContext createEvaluationContext(Authentication authentication, MethodInvocation mi);
- /**
- * Provides an evaluation context in which to evaluate security expressions for a web invocation.
- */
- EvaluationContext createEvaluationContext(Authentication authentication, FilterInvocation fi);
-
/**
* Filters a target collection or array.
* Only applies to method invocations.
diff --git a/core/src/main/java/org/springframework/security/expression/method/ExpressionAnnotationMethodSecurityMetadataSource.java b/core/src/main/java/org/springframework/security/expression/method/ExpressionAnnotationMethodSecurityMetadataSource.java
index 558dee1bad..d4d0ce8cc9 100644
--- a/core/src/main/java/org/springframework/security/expression/method/ExpressionAnnotationMethodSecurityMetadataSource.java
+++ b/core/src/main/java/org/springframework/security/expression/method/ExpressionAnnotationMethodSecurityMetadataSource.java
@@ -12,7 +12,7 @@ import org.springframework.expression.ExpressionParser;
import org.springframework.expression.ParseException;
import org.springframework.expression.spel.antlr.SpelAntlrExpressionParser;
import org.springframework.security.ConfigAttribute;
-import org.springframework.security.expression.SecurityExpressionHandler;
+import org.springframework.security.expression.MethodSecurityExpressionHandler;
import org.springframework.security.expression.annotation.PostAuthorize;
import org.springframework.security.expression.annotation.PostFilter;
import org.springframework.security.expression.annotation.PreAuthorize;
@@ -45,10 +45,10 @@ public class ExpressionAnnotationMethodSecurityMetadataSource extends AbstractMe
}
/**
- * Constructor which obtains the expression parser from the {@link SecurityExpressionHandler#getExpressionParser() }
+ * Constructor which obtains the expression parser from the {@link MethodSecurityExpressionHandler#getExpressionParser() }
* method on the supplied SecurityExpressionHandler.
*/
- public ExpressionAnnotationMethodSecurityMetadataSource(SecurityExpressionHandler handler) {
+ public ExpressionAnnotationMethodSecurityMetadataSource(MethodSecurityExpressionHandler handler) {
parser = handler.getExpressionParser();
}
diff --git a/core/src/main/java/org/springframework/security/expression/method/MethodExpressionAfterInvocationProvider.java b/core/src/main/java/org/springframework/security/expression/method/MethodExpressionAfterInvocationProvider.java
index cb45168ebf..5c41dfc8ba 100644
--- a/core/src/main/java/org/springframework/security/expression/method/MethodExpressionAfterInvocationProvider.java
+++ b/core/src/main/java/org/springframework/security/expression/method/MethodExpressionAfterInvocationProvider.java
@@ -12,8 +12,8 @@ import org.springframework.security.Authentication;
import org.springframework.security.ConfigAttribute;
import org.springframework.security.afterinvocation.AfterInvocationProvider;
import org.springframework.security.expression.ExpressionUtils;
-import org.springframework.security.expression.SecurityExpressionHandler;
-import org.springframework.security.expression.support.DefaultSecurityExpressionHandler;
+import org.springframework.security.expression.MethodSecurityExpressionHandler;
+import org.springframework.security.expression.support.DefaultMethodSecurityExpressionHandler;
/**
* AfterInvocationProvider which handles the @PostAuthorize and @PostFilter annotation expressions.
@@ -26,7 +26,7 @@ public class MethodExpressionAfterInvocationProvider implements AfterInvocationP
protected final Log logger = LogFactory.getLog(getClass());
- private SecurityExpressionHandler expressionHandler = new DefaultSecurityExpressionHandler();
+ private MethodSecurityExpressionHandler expressionHandler = new DefaultMethodSecurityExpressionHandler();
public Object decide(Authentication authentication, Object object, List
* This authentication provider will not perform any checks on authentication
- * requests, as they should already be pre- authenticated. However, the
+ * requests, as they should already be pre-authenticated. However, the
* AuthenticationUserDetailsService implementation may still throw a UsernameNotFoundException, for example.
*
* @author Ruud Senden
diff --git a/core/src/main/java/org/springframework/security/context/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutor.java b/core/src/main/java/org/springframework/security/remoting/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutor.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/context/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutor.java
rename to core/src/main/java/org/springframework/security/remoting/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutor.java
index bb892774c0..6390729572 100644
--- a/core/src/main/java/org/springframework/security/context/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutor.java
+++ b/core/src/main/java/org/springframework/security/remoting/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutor.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.context.httpinvoker;
+package org.springframework.security.remoting.httpinvoker;
import org.springframework.security.Authentication;
import org.springframework.security.AuthenticationCredentialsNotFoundException;
diff --git a/core/src/main/java/org/springframework/security/context/httpinvoker/package.html b/core/src/main/java/org/springframework/security/remoting/httpinvoker/package.html
similarity index 100%
rename from core/src/main/java/org/springframework/security/context/httpinvoker/package.html
rename to core/src/main/java/org/springframework/security/remoting/httpinvoker/package.html
diff --git a/core/src/main/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocation.java b/core/src/main/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocation.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocation.java
rename to core/src/main/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocation.java
index 3fcaa6d342..eb6dee9e60 100644
--- a/core/src/main/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocation.java
+++ b/core/src/main/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocation.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.context.rmi;
+package org.springframework.security.remoting.rmi;
import org.springframework.security.context.SecurityContext;
import org.springframework.security.context.SecurityContextHolder;
diff --git a/core/src/main/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocationFactory.java b/core/src/main/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocationFactory.java
similarity index 96%
rename from core/src/main/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocationFactory.java
rename to core/src/main/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocationFactory.java
index 88da30f726..7314dd0aa7 100644
--- a/core/src/main/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocationFactory.java
+++ b/core/src/main/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocationFactory.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.context.rmi;
+package org.springframework.security.remoting.rmi;
import org.aopalliance.intercept.MethodInvocation;
diff --git a/core/src/main/java/org/springframework/security/context/rmi/package.html b/core/src/main/java/org/springframework/security/remoting/rmi/package.html
similarity index 100%
rename from core/src/main/java/org/springframework/security/context/rmi/package.html
rename to core/src/main/java/org/springframework/security/remoting/rmi/package.html
diff --git a/core/src/main/java/org/springframework/security/ui/session/HttpSessionApplicationEvent.java b/core/src/main/java/org/springframework/security/ui/session/HttpSessionApplicationEvent.java
deleted file mode 100644
index 7d8e9b1fbf..0000000000
--- a/core/src/main/java/org/springframework/security/ui/session/HttpSessionApplicationEvent.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.security.ui.session;
-
-import org.springframework.context.ApplicationEvent;
-
-import javax.servlet.http.HttpSession;
-
-
-/**
- * Parent class for published HttpSession events
- *
- * @author Ray Krueger
- */
-public abstract class HttpSessionApplicationEvent extends ApplicationEvent {
- //~ Constructors ===================================================================================================
-
-/**
- * Base constructor for all subclasses must have an HttpSession
- *
- * @param httpSession The session to carry as the event source.
- */
- public HttpSessionApplicationEvent(HttpSession httpSession) {
- super(httpSession);
- }
-
- //~ Methods ========================================================================================================
-
- /**
- * Get the HttpSession that is the cause of the event
- *
- * @return HttpSession instance
- */
- public HttpSession getSession() {
- return (HttpSession) getSource();
- }
-}
diff --git a/core/src/test/java/org/springframework/security/afterinvocation/AfterInvocationProviderManagerTests.java b/core/src/test/java/org/springframework/security/afterinvocation/AfterInvocationProviderManagerTests.java
index 4c231298f5..5d9e160e1a 100644
--- a/core/src/test/java/org/springframework/security/afterinvocation/AfterInvocationProviderManagerTests.java
+++ b/core/src/test/java/org/springframework/security/afterinvocation/AfterInvocationProviderManagerTests.java
@@ -25,7 +25,6 @@ import org.springframework.security.AccessDeniedException;
import org.springframework.security.Authentication;
import org.springframework.security.ConfigAttribute;
import org.springframework.security.SecurityConfig;
-import org.springframework.security.intercept.web.FilterInvocation;
import org.springframework.security.util.SimpleMethodInvocation;
@@ -129,7 +128,7 @@ public class AfterInvocationProviderManagerTests extends TestCase {
manager.setProviders(list);
manager.afterPropertiesSet();
- assertFalse(manager.supports(FilterInvocation.class));
+// assertFalse(manager.supports(FilterInvocation.class));
assertTrue(manager.supports(MethodInvocation.class));
}
diff --git a/core/src/test/java/org/springframework/security/providers/ProviderManagerTests.java b/core/src/test/java/org/springframework/security/providers/ProviderManagerTests.java
index 6daa334558..31a5c42df4 100644
--- a/core/src/test/java/org/springframework/security/providers/ProviderManagerTests.java
+++ b/core/src/test/java/org/springframework/security/providers/ProviderManagerTests.java
@@ -15,10 +15,8 @@
package org.springframework.security.providers;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
import java.util.ArrayList;
import java.util.Arrays;
@@ -32,7 +30,7 @@ import org.springframework.security.AuthenticationServiceException;
import org.springframework.security.GrantedAuthority;
import org.springframework.security.MockApplicationEventPublisher;
import org.springframework.security.concurrent.ConcurrentLoginException;
-import org.springframework.security.concurrent.ConcurrentSessionControllerImpl;
+import org.springframework.security.concurrent.ConcurrentSessionController;
import org.springframework.security.concurrent.NullConcurrentSessionController;
import org.springframework.security.util.AuthorityUtils;
@@ -102,9 +100,9 @@ public class ProviderManagerTests {
assertNotNull(target.getSessionController());
assertTrue(target.getSessionController() instanceof NullConcurrentSessionController);
- ConcurrentSessionControllerImpl impl = new ConcurrentSessionControllerImpl();
- target.setSessionController(impl);
- assertEquals(impl, target.getSessionController());
+ ConcurrentSessionController csc = mock(ConcurrentSessionController.class);
+ target.setSessionController(csc);
+ assertEquals(csc, target.getSessionController());
}
@Test(expected=IllegalArgumentException.class)
diff --git a/core/src/test/java/org/springframework/security/providers/jaas/JaasAuthenticationProviderTests.java b/core/src/test/java/org/springframework/security/providers/jaas/JaasAuthenticationProviderTests.java
index bb94b14326..dedf6d88ee 100644
--- a/core/src/test/java/org/springframework/security/providers/jaas/JaasAuthenticationProviderTests.java
+++ b/core/src/test/java/org/springframework/security/providers/jaas/JaasAuthenticationProviderTests.java
@@ -15,6 +15,8 @@
package org.springframework.security.providers.jaas;
+import static org.mockito.Mockito.*;
+
import java.net.URL;
import java.security.Security;
import java.util.List;
@@ -26,18 +28,16 @@ import junit.framework.TestCase;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
-import org.springframework.mock.web.MockHttpSession;
import org.springframework.security.Authentication;
import org.springframework.security.AuthenticationException;
import org.springframework.security.GrantedAuthority;
import org.springframework.security.GrantedAuthorityImpl;
import org.springframework.security.LockedException;
import org.springframework.security.SpringSecurityException;
-import org.springframework.security.context.HttpSessionSecurityContextRepository;
import org.springframework.security.context.SecurityContextImpl;
+import org.springframework.security.event.SessionDestroyedEvent;
import org.springframework.security.providers.TestingAuthenticationToken;
import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
-import org.springframework.security.ui.session.HttpSessionDestroyedEvent;
import org.springframework.security.util.AuthorityUtils;
@@ -204,10 +204,10 @@ public class JaasAuthenticationProviderTests extends TestCase {
SecurityContextImpl context = new SecurityContextImpl();
context.setAuthentication(token);
- MockHttpSession mockSession = new MockHttpSession();
- mockSession.setAttribute(HttpSessionSecurityContextRepository.SPRING_SECURITY_CONTEXT_KEY, context);
+ SessionDestroyedEvent event = mock(SessionDestroyedEvent.class);
+ when(event.getSecurityContext()).thenReturn(context);
- jaasProvider.onApplicationEvent(new HttpSessionDestroyedEvent(mockSession));
+ jaasProvider.handleLogout(event);
assertTrue(loginContext.loggedOut);
}
diff --git a/core/src/test/java/org/springframework/security/context/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutorTests.java b/core/src/test/java/org/springframework/security/remoting/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutorTests.java
similarity index 96%
rename from core/src/test/java/org/springframework/security/context/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutorTests.java
rename to core/src/test/java/org/springframework/security/remoting/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutorTests.java
index 116b6366c1..f0df06031c 100644
--- a/core/src/test/java/org/springframework/security/context/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutorTests.java
+++ b/core/src/test/java/org/springframework/security/remoting/httpinvoker/AuthenticationSimpleHttpInvokerRequestExecutorTests.java
@@ -13,16 +13,16 @@
* limitations under the License.
*/
-package org.springframework.security.context.httpinvoker;
+package org.springframework.security.remoting.httpinvoker;
import junit.framework.TestCase;
import org.springframework.security.Authentication;
import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.context.httpinvoker.AuthenticationSimpleHttpInvokerRequestExecutor;
import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
+import org.springframework.security.remoting.httpinvoker.AuthenticationSimpleHttpInvokerRequestExecutor;
import java.io.IOException;
diff --git a/core/src/test/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocationTests.java b/core/src/test/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocationTests.java
similarity index 95%
rename from core/src/test/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocationTests.java
rename to core/src/test/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocationTests.java
index 4501e108ac..8fe11d0dae 100644
--- a/core/src/test/java/org/springframework/security/context/rmi/ContextPropagatingRemoteInvocationTests.java
+++ b/core/src/test/java/org/springframework/security/remoting/rmi/ContextPropagatingRemoteInvocationTests.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.context.rmi;
+package org.springframework.security.remoting.rmi;
import junit.framework.TestCase;
@@ -23,6 +23,8 @@ import org.springframework.security.TargetObject;
import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
+import org.springframework.security.remoting.rmi.ContextPropagatingRemoteInvocation;
+import org.springframework.security.remoting.rmi.ContextPropagatingRemoteInvocationFactory;
import org.springframework.security.util.SimpleMethodInvocation;
diff --git a/core/src/test/java/org/springframework/security/util/MockFilterChain.java b/core/src/test/java/org/springframework/security/util/MockFilterChain.java
deleted file mode 100644
index af385802c2..0000000000
--- a/core/src/test/java/org/springframework/security/util/MockFilterChain.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.springframework.security.util;
-
-import java.io.IOException;
-
-import javax.servlet.FilterChain;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-
-import org.junit.Assert;
-
-
-/**
- * A mock FilterChain.
- *
- * @author Ben Alex
- * @version $Id$
- */
-public class MockFilterChain implements FilterChain {
- //~ Instance fields ================================================================================================
-
- private boolean expectToProceed;
-
- //~ Constructors ===================================================================================================
-
- public MockFilterChain() {
- this(true);
- }
-
- public MockFilterChain(boolean expectToProceed) {
- this.expectToProceed = expectToProceed;
- }
-
- //~ Methods ========================================================================================================
-
- public void doFilter(ServletRequest request, ServletResponse response) throws IOException, ServletException {
- if (!expectToProceed) {
- Assert.fail("Did not expect filter chain to proceed");
- }
- }
-}
diff --git a/itest/context/src/test/java/org/springframework/security/performance/FilterChainPerformanceTests.java b/itest/context/src/test/java/org/springframework/security/performance/FilterChainPerformanceTests.java
index 24833cdae7..e583fb5f3f 100644
--- a/itest/context/src/test/java/org/springframework/security/performance/FilterChainPerformanceTests.java
+++ b/itest/context/src/test/java/org/springframework/security/performance/FilterChainPerformanceTests.java
@@ -18,10 +18,10 @@ import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.mock.web.MockHttpSession;
import org.springframework.security.GrantedAuthority;
import org.springframework.security.GrantedAuthorityImpl;
-import org.springframework.security.context.HttpSessionSecurityContextRepository;
import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.context.web.HttpSessionSecurityContextRepository;
import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
-import org.springframework.security.util.FilterChainProxy;
+import org.springframework.security.web.util.FilterChainProxy;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.util.StopWatch;
diff --git a/itest/context/src/test/resources/filter-chain-performance-app-context.xml b/itest/context/src/test/resources/filter-chain-performance-app-context.xml
index dbbe6b9fc1..ba627bedd6 100644
--- a/itest/context/src/test/resources/filter-chain-performance-app-context.xml
+++ b/itest/context/src/test/resources/filter-chain-performance-app-context.xml
@@ -11,13 +11,13 @@
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd">
-
SecurityContext when a sendError() or sendRedirect
diff --git a/core/src/main/java/org/springframework/security/context/SecurityContextPersistenceFilter.java b/web/src/main/java/org/springframework/security/context/web/SecurityContextPersistenceFilter.java
similarity index 95%
rename from core/src/main/java/org/springframework/security/context/SecurityContextPersistenceFilter.java
rename to web/src/main/java/org/springframework/security/context/web/SecurityContextPersistenceFilter.java
index f66d681b38..8c74593710 100644
--- a/core/src/main/java/org/springframework/security/context/SecurityContextPersistenceFilter.java
+++ b/web/src/main/java/org/springframework/security/context/web/SecurityContextPersistenceFilter.java
@@ -1,4 +1,4 @@
-package org.springframework.security.context;
+package org.springframework.security.context.web;
import java.io.IOException;
@@ -8,6 +8,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import org.springframework.security.context.SecurityContext;
+import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.ui.FilterChainOrder;
import org.springframework.security.ui.SpringSecurityFilter;
diff --git a/core/src/main/java/org/springframework/security/context/SecurityContextRepository.java b/web/src/main/java/org/springframework/security/context/web/SecurityContextRepository.java
similarity index 92%
rename from core/src/main/java/org/springframework/security/context/SecurityContextRepository.java
rename to web/src/main/java/org/springframework/security/context/web/SecurityContextRepository.java
index 613746cec1..fe8f19bdc4 100644
--- a/core/src/main/java/org/springframework/security/context/SecurityContextRepository.java
+++ b/web/src/main/java/org/springframework/security/context/web/SecurityContextRepository.java
@@ -1,8 +1,10 @@
-package org.springframework.security.context;
+package org.springframework.security.context.web;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.springframework.security.context.SecurityContext;
+
/**
* Strategy used for persisting a {@link SecurityContext} between requests.
*
@@ -43,7 +45,7 @@ public interface SecurityContextRepository {
/**
* Stores the security context on completion of a request.
*
- * @param context the non-null context which was obtained f
+ * @param context the non-null context which was obtained from the holder.
* @param request
* @param response
*/
diff --git a/core/src/main/java/org/springframework/security/expression/web/ExpressionBasedFilterInvocationSecurityMetadataSource.java b/web/src/main/java/org/springframework/security/expression/web/ExpressionBasedFilterInvocationSecurityMetadataSource.java
similarity index 95%
rename from core/src/main/java/org/springframework/security/expression/web/ExpressionBasedFilterInvocationSecurityMetadataSource.java
rename to web/src/main/java/org/springframework/security/expression/web/ExpressionBasedFilterInvocationSecurityMetadataSource.java
index 42dfa2ca6d..830bc6f952 100644
--- a/core/src/main/java/org/springframework/security/expression/web/ExpressionBasedFilterInvocationSecurityMetadataSource.java
+++ b/web/src/main/java/org/springframework/security/expression/web/ExpressionBasedFilterInvocationSecurityMetadataSource.java
@@ -10,7 +10,6 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.expression.ExpressionParser;
import org.springframework.expression.ParseException;
import org.springframework.security.ConfigAttribute;
-import org.springframework.security.expression.SecurityExpressionHandler;
import org.springframework.security.intercept.web.DefaultFilterInvocationSecurityMetadataSource;
import org.springframework.security.intercept.web.RequestKey;
import org.springframework.security.util.UrlMatcher;
@@ -27,7 +26,7 @@ public final class ExpressionBasedFilterInvocationSecurityMetadataSource extends
private final static Log logger = LogFactory.getLog(ExpressionBasedFilterInvocationSecurityMetadataSource.class);
public ExpressionBasedFilterInvocationSecurityMetadataSource(UrlMatcher urlMatcher,
- LinkedHashMap
* The returned URL does not reflect the port number determined from a
- * {@link org.springframework.security.util.PortResolver}.
+ * {@link org.springframework.security.web.util.PortResolver}.
*
* @return the full URL of this request
*/
diff --git a/core/src/main/java/org/springframework/security/intercept/web/FilterInvocationSecurityMetadataSource.java b/web/src/main/java/org/springframework/security/intercept/web/FilterInvocationSecurityMetadataSource.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/intercept/web/FilterInvocationSecurityMetadataSource.java
rename to web/src/main/java/org/springframework/security/intercept/web/FilterInvocationSecurityMetadataSource.java
diff --git a/core/src/main/java/org/springframework/security/intercept/web/FilterSecurityInterceptor.java b/web/src/main/java/org/springframework/security/intercept/web/FilterSecurityInterceptor.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/intercept/web/FilterSecurityInterceptor.java
rename to web/src/main/java/org/springframework/security/intercept/web/FilterSecurityInterceptor.java
diff --git a/core/src/main/java/org/springframework/security/intercept/web/RequestKey.java b/web/src/main/java/org/springframework/security/intercept/web/RequestKey.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/intercept/web/RequestKey.java
rename to web/src/main/java/org/springframework/security/intercept/web/RequestKey.java
diff --git a/core/src/main/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluator.java b/web/src/main/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluator.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluator.java
rename to web/src/main/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluator.java
diff --git a/core/src/main/java/org/springframework/security/intercept/web/package.html b/web/src/main/java/org/springframework/security/intercept/web/package.html
similarity index 100%
rename from core/src/main/java/org/springframework/security/intercept/web/package.html
rename to web/src/main/java/org/springframework/security/intercept/web/package.html
diff --git a/core/src/main/java/org/springframework/security/securechannel/AbstractRetryEntryPoint.java b/web/src/main/java/org/springframework/security/securechannel/AbstractRetryEntryPoint.java
similarity index 93%
rename from core/src/main/java/org/springframework/security/securechannel/AbstractRetryEntryPoint.java
rename to web/src/main/java/org/springframework/security/securechannel/AbstractRetryEntryPoint.java
index 3363aebbeb..33f054b272 100644
--- a/core/src/main/java/org/springframework/security/securechannel/AbstractRetryEntryPoint.java
+++ b/web/src/main/java/org/springframework/security/securechannel/AbstractRetryEntryPoint.java
@@ -1,9 +1,9 @@
package org.springframework.security.securechannel;
-import org.springframework.security.util.PortMapper;
-import org.springframework.security.util.PortResolver;
-import org.springframework.security.util.PortMapperImpl;
-import org.springframework.security.util.PortResolverImpl;
+import org.springframework.security.web.util.PortMapper;
+import org.springframework.security.web.util.PortMapperImpl;
+import org.springframework.security.web.util.PortResolver;
+import org.springframework.security.web.util.PortResolverImpl;
import org.springframework.util.Assert;
import org.apache.commons.logging.Log;
diff --git a/core/src/main/java/org/springframework/security/securechannel/ChannelDecisionManager.java b/web/src/main/java/org/springframework/security/securechannel/ChannelDecisionManager.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/ChannelDecisionManager.java
rename to web/src/main/java/org/springframework/security/securechannel/ChannelDecisionManager.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/ChannelDecisionManagerImpl.java b/web/src/main/java/org/springframework/security/securechannel/ChannelDecisionManagerImpl.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/ChannelDecisionManagerImpl.java
rename to web/src/main/java/org/springframework/security/securechannel/ChannelDecisionManagerImpl.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/ChannelEntryPoint.java b/web/src/main/java/org/springframework/security/securechannel/ChannelEntryPoint.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/ChannelEntryPoint.java
rename to web/src/main/java/org/springframework/security/securechannel/ChannelEntryPoint.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/ChannelProcessingFilter.java b/web/src/main/java/org/springframework/security/securechannel/ChannelProcessingFilter.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/ChannelProcessingFilter.java
rename to web/src/main/java/org/springframework/security/securechannel/ChannelProcessingFilter.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/ChannelProcessor.java b/web/src/main/java/org/springframework/security/securechannel/ChannelProcessor.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/ChannelProcessor.java
rename to web/src/main/java/org/springframework/security/securechannel/ChannelProcessor.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/InsecureChannelProcessor.java b/web/src/main/java/org/springframework/security/securechannel/InsecureChannelProcessor.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/InsecureChannelProcessor.java
rename to web/src/main/java/org/springframework/security/securechannel/InsecureChannelProcessor.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/RetryWithHttpEntryPoint.java b/web/src/main/java/org/springframework/security/securechannel/RetryWithHttpEntryPoint.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/RetryWithHttpEntryPoint.java
rename to web/src/main/java/org/springframework/security/securechannel/RetryWithHttpEntryPoint.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/RetryWithHttpsEntryPoint.java b/web/src/main/java/org/springframework/security/securechannel/RetryWithHttpsEntryPoint.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/RetryWithHttpsEntryPoint.java
rename to web/src/main/java/org/springframework/security/securechannel/RetryWithHttpsEntryPoint.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/SecureChannelProcessor.java b/web/src/main/java/org/springframework/security/securechannel/SecureChannelProcessor.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/SecureChannelProcessor.java
rename to web/src/main/java/org/springframework/security/securechannel/SecureChannelProcessor.java
diff --git a/core/src/main/java/org/springframework/security/securechannel/package.html b/web/src/main/java/org/springframework/security/securechannel/package.html
similarity index 100%
rename from core/src/main/java/org/springframework/security/securechannel/package.html
rename to web/src/main/java/org/springframework/security/securechannel/package.html
diff --git a/core/src/main/java/org/springframework/security/ui/AbstractAuthenticationTargetUrlRequestHandler.java b/web/src/main/java/org/springframework/security/ui/AbstractAuthenticationTargetUrlRequestHandler.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/ui/AbstractAuthenticationTargetUrlRequestHandler.java
rename to web/src/main/java/org/springframework/security/ui/AbstractAuthenticationTargetUrlRequestHandler.java
index 0617440028..e2cfd2ad96 100644
--- a/core/src/main/java/org/springframework/security/ui/AbstractAuthenticationTargetUrlRequestHandler.java
+++ b/web/src/main/java/org/springframework/security/ui/AbstractAuthenticationTargetUrlRequestHandler.java
@@ -12,8 +12,8 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.security.Authentication;
import org.springframework.security.ui.logout.LogoutHandler;
-import org.springframework.security.util.RedirectUtils;
-import org.springframework.security.util.UrlUtils;
+import org.springframework.security.web.util.RedirectUtils;
+import org.springframework.security.web.util.UrlUtils;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
diff --git a/core/src/main/java/org/springframework/security/ui/AbstractProcessingFilter.java b/web/src/main/java/org/springframework/security/ui/AbstractProcessingFilter.java
similarity index 99%
rename from core/src/main/java/org/springframework/security/ui/AbstractProcessingFilter.java
rename to web/src/main/java/org/springframework/security/ui/AbstractProcessingFilter.java
index 073ef22410..9634a1ba7c 100644
--- a/core/src/main/java/org/springframework/security/ui/AbstractProcessingFilter.java
+++ b/web/src/main/java/org/springframework/security/ui/AbstractProcessingFilter.java
@@ -38,8 +38,8 @@ import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.event.authentication.InteractiveAuthenticationSuccessEvent;
import org.springframework.security.ui.rememberme.NullRememberMeServices;
import org.springframework.security.ui.rememberme.RememberMeServices;
-import org.springframework.security.util.SessionUtils;
-import org.springframework.security.util.UrlUtils;
+import org.springframework.security.web.util.SessionUtils;
+import org.springframework.security.web.util.UrlUtils;
import org.springframework.util.Assert;
/**
diff --git a/core/src/main/java/org/springframework/security/ui/AccessDeniedHandler.java b/web/src/main/java/org/springframework/security/ui/AccessDeniedHandler.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/AccessDeniedHandler.java
rename to web/src/main/java/org/springframework/security/ui/AccessDeniedHandler.java
diff --git a/core/src/main/java/org/springframework/security/ui/AccessDeniedHandlerImpl.java b/web/src/main/java/org/springframework/security/ui/AccessDeniedHandlerImpl.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/AccessDeniedHandlerImpl.java
rename to web/src/main/java/org/springframework/security/ui/AccessDeniedHandlerImpl.java
diff --git a/core/src/main/java/org/springframework/security/ui/AuthenticationEntryPoint.java b/web/src/main/java/org/springframework/security/ui/AuthenticationEntryPoint.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/AuthenticationEntryPoint.java
rename to web/src/main/java/org/springframework/security/ui/AuthenticationEntryPoint.java
diff --git a/core/src/main/java/org/springframework/security/ui/AuthenticationFailureHandler.java b/web/src/main/java/org/springframework/security/ui/AuthenticationFailureHandler.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/AuthenticationFailureHandler.java
rename to web/src/main/java/org/springframework/security/ui/AuthenticationFailureHandler.java
diff --git a/core/src/main/java/org/springframework/security/ui/AuthenticationSuccessHandler.java b/web/src/main/java/org/springframework/security/ui/AuthenticationSuccessHandler.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/AuthenticationSuccessHandler.java
rename to web/src/main/java/org/springframework/security/ui/AuthenticationSuccessHandler.java
diff --git a/core/src/main/java/org/springframework/security/ui/ExceptionMappingAuthenticationFailureHandler.java b/web/src/main/java/org/springframework/security/ui/ExceptionMappingAuthenticationFailureHandler.java
similarity index 95%
rename from core/src/main/java/org/springframework/security/ui/ExceptionMappingAuthenticationFailureHandler.java
rename to web/src/main/java/org/springframework/security/ui/ExceptionMappingAuthenticationFailureHandler.java
index 78eb1fa8b8..e412902f2c 100644
--- a/core/src/main/java/org/springframework/security/ui/ExceptionMappingAuthenticationFailureHandler.java
+++ b/web/src/main/java/org/springframework/security/ui/ExceptionMappingAuthenticationFailureHandler.java
@@ -9,8 +9,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.AuthenticationException;
-import org.springframework.security.util.RedirectUtils;
-import org.springframework.security.util.UrlUtils;
+import org.springframework.security.web.util.RedirectUtils;
+import org.springframework.security.web.util.UrlUtils;
import org.springframework.util.Assert;
/**
diff --git a/core/src/main/java/org/springframework/security/ui/ExceptionTranslationFilter.java b/web/src/main/java/org/springframework/security/ui/ExceptionTranslationFilter.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/ui/ExceptionTranslationFilter.java
rename to web/src/main/java/org/springframework/security/ui/ExceptionTranslationFilter.java
index dc60aa1d7f..be47f3fa78 100644
--- a/core/src/main/java/org/springframework/security/ui/ExceptionTranslationFilter.java
+++ b/web/src/main/java/org/springframework/security/ui/ExceptionTranslationFilter.java
@@ -23,10 +23,10 @@ import org.springframework.security.AuthenticationTrustResolverImpl;
import org.springframework.security.InsufficientAuthenticationException;
import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.ui.savedrequest.SavedRequest;
-import org.springframework.security.util.PortResolver;
-import org.springframework.security.util.PortResolverImpl;
import org.springframework.security.util.ThrowableAnalyzer;
import org.springframework.security.util.ThrowableCauseExtractor;
+import org.springframework.security.web.util.PortResolver;
+import org.springframework.security.web.util.PortResolverImpl;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.util.Assert;
@@ -176,7 +176,7 @@ public class ExceptionTranslationFilter extends SpringSecurityFilter implements
*
* Remember to also set
- * {@link org.springframework.security.context.HttpSessionSecurityContextRepository#setAllowSessionCreation(boolean)}
+ * {@link org.springframework.security.context.web.HttpSessionSecurityContextRepository#setAllowSessionCreation(boolean)}
* to Defaults to The generated
diff --git a/core/src/main/java/org/springframework/security/util/PortMapper.java b/web/src/main/java/org/springframework/security/web/util/PortMapper.java
similarity index 97%
rename from core/src/main/java/org/springframework/security/util/PortMapper.java
rename to web/src/main/java/org/springframework/security/web/util/PortMapper.java
index c2b791ed37..1012d73530 100644
--- a/core/src/main/java/org/springframework/security/util/PortMapper.java
+++ b/web/src/main/java/org/springframework/security/web/util/PortMapper.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.util;
+package org.springframework.security.web.util;
/**
* false.
* false if you set this property to false.
*
* @return true if the HttpSession will be
diff --git a/core/src/main/java/org/springframework/security/ui/FilterChainOrder.java b/web/src/main/java/org/springframework/security/ui/FilterChainOrder.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/FilterChainOrder.java
rename to web/src/main/java/org/springframework/security/ui/FilterChainOrder.java
diff --git a/core/src/main/java/org/springframework/security/ui/LogoutSuccessHandler.java b/web/src/main/java/org/springframework/security/ui/LogoutSuccessHandler.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/LogoutSuccessHandler.java
rename to web/src/main/java/org/springframework/security/ui/LogoutSuccessHandler.java
diff --git a/core/src/main/java/org/springframework/security/ui/SavedRequestAwareAuthenticationSuccessHandler.java b/web/src/main/java/org/springframework/security/ui/SavedRequestAwareAuthenticationSuccessHandler.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/ui/SavedRequestAwareAuthenticationSuccessHandler.java
rename to web/src/main/java/org/springframework/security/ui/SavedRequestAwareAuthenticationSuccessHandler.java
index f1c8a9f8a3..4b4f742509 100644
--- a/core/src/main/java/org/springframework/security/ui/SavedRequestAwareAuthenticationSuccessHandler.java
+++ b/web/src/main/java/org/springframework/security/ui/SavedRequestAwareAuthenticationSuccessHandler.java
@@ -9,7 +9,7 @@ import javax.servlet.http.HttpSession;
import org.springframework.security.Authentication;
import org.springframework.security.ui.savedrequest.SavedRequest;
-import org.springframework.security.util.RedirectUtils;
+import org.springframework.security.web.util.RedirectUtils;
import org.springframework.security.wrapper.SavedRequestAwareWrapper;
import org.springframework.util.StringUtils;
diff --git a/core/src/main/java/org/springframework/security/ui/SessionFixationProtectionFilter.java b/web/src/main/java/org/springframework/security/ui/SessionFixationProtectionFilter.java
similarity index 96%
rename from core/src/main/java/org/springframework/security/ui/SessionFixationProtectionFilter.java
rename to web/src/main/java/org/springframework/security/ui/SessionFixationProtectionFilter.java
index cbc34718d4..6d924ec310 100644
--- a/core/src/main/java/org/springframework/security/ui/SessionFixationProtectionFilter.java
+++ b/web/src/main/java/org/springframework/security/ui/SessionFixationProtectionFilter.java
@@ -12,10 +12,10 @@ import org.springframework.security.Authentication;
import org.springframework.security.AuthenticationTrustResolver;
import org.springframework.security.AuthenticationTrustResolverImpl;
import org.springframework.security.concurrent.SessionRegistry;
-import org.springframework.security.context.HttpSessionSecurityContextRepository;
import org.springframework.security.context.SecurityContext;
import org.springframework.security.context.SecurityContextHolder;
-import org.springframework.security.util.SessionUtils;
+import org.springframework.security.context.web.HttpSessionSecurityContextRepository;
+import org.springframework.security.web.util.SessionUtils;
/**
* Detects that a user has been authenticated since the start of the request and starts a new session.
diff --git a/core/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationFailureHandler.java b/web/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationFailureHandler.java
similarity index 96%
rename from core/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationFailureHandler.java
rename to web/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationFailureHandler.java
index c9fd43cca2..2bea42f7fa 100644
--- a/core/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationFailureHandler.java
+++ b/web/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationFailureHandler.java
@@ -7,8 +7,8 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.security.AuthenticationException;
-import org.springframework.security.util.RedirectUtils;
-import org.springframework.security.util.UrlUtils;
+import org.springframework.security.web.util.RedirectUtils;
+import org.springframework.security.web.util.UrlUtils;
import org.springframework.util.Assert;
/**
diff --git a/core/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationSuccessHandler.java b/web/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationSuccessHandler.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationSuccessHandler.java
rename to web/src/main/java/org/springframework/security/ui/SimpleUrlAuthenticationSuccessHandler.java
diff --git a/core/src/main/java/org/springframework/security/ui/SpringSecurityFilter.java b/web/src/main/java/org/springframework/security/ui/SpringSecurityFilter.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/SpringSecurityFilter.java
rename to web/src/main/java/org/springframework/security/ui/SpringSecurityFilter.java
diff --git a/core/src/main/java/org/springframework/security/ui/WebAuthenticationDetails.java b/web/src/main/java/org/springframework/security/ui/WebAuthenticationDetails.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/WebAuthenticationDetails.java
rename to web/src/main/java/org/springframework/security/ui/WebAuthenticationDetails.java
diff --git a/core/src/main/java/org/springframework/security/ui/WebAuthenticationDetailsSource.java b/web/src/main/java/org/springframework/security/ui/WebAuthenticationDetailsSource.java
similarity index 100%
rename from core/src/main/java/org/springframework/security/ui/WebAuthenticationDetailsSource.java
rename to web/src/main/java/org/springframework/security/ui/WebAuthenticationDetailsSource.java
diff --git a/core/src/main/java/org/springframework/security/providers/anonymous/AnonymousProcessingFilter.java b/web/src/main/java/org/springframework/security/ui/anonymous/AnonymousProcessingFilter.java
similarity index 95%
rename from core/src/main/java/org/springframework/security/providers/anonymous/AnonymousProcessingFilter.java
rename to web/src/main/java/org/springframework/security/ui/anonymous/AnonymousProcessingFilter.java
index 8af99a42a2..5ba6d64eca 100644
--- a/core/src/main/java/org/springframework/security/providers/anonymous/AnonymousProcessingFilter.java
+++ b/web/src/main/java/org/springframework/security/ui/anonymous/AnonymousProcessingFilter.java
@@ -13,12 +13,13 @@
* limitations under the License.
*/
-package org.springframework.security.providers.anonymous;
+package org.springframework.security.ui.anonymous;
import org.springframework.security.Authentication;
import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.providers.anonymous.AnonymousAuthenticationToken;
import org.springframework.security.ui.AuthenticationDetailsSource;
import org.springframework.security.ui.WebAuthenticationDetailsSource;
import org.springframework.security.ui.FilterChainOrder;
@@ -139,7 +140,7 @@ public class AnonymousProcessingFilter extends SpringSecurityFilter implements
/**
* Controls whether the filter will remove the Anonymous token after the request is complete. Generally
* this is desired to avoid the expense of a session being created by {@link
- * org.springframework.security.context.HttpSessionContextIntegrationFilter HttpSessionContextIntegrationFilter} simply to
+ * org.springframework.security.context.web.HttpSessionContextIntegrationFilter HttpSessionContextIntegrationFilter} simply to
* store the Anonymous authentication token.true, being the most optimal and
* appropriate option (ie AnonymousProcessingFilter will clear the token at the end of each request,
* thus avoiding the session creation overhead in a typical configuration.FilterInvocations usable within Spring Security.PortMapper implementations provide callers with information
diff --git a/core/src/main/java/org/springframework/security/util/PortMapperImpl.java b/web/src/main/java/org/springframework/security/web/util/PortMapperImpl.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/util/PortMapperImpl.java
rename to web/src/main/java/org/springframework/security/web/util/PortMapperImpl.java
index eb64f19273..bf5733088d 100644
--- a/core/src/main/java/org/springframework/security/util/PortMapperImpl.java
+++ b/web/src/main/java/org/springframework/security/web/util/PortMapperImpl.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.util;
+package org.springframework.security.web.util;
import org.springframework.util.Assert;
diff --git a/core/src/main/java/org/springframework/security/util/PortResolver.java b/web/src/main/java/org/springframework/security/web/util/PortResolver.java
similarity index 96%
rename from core/src/main/java/org/springframework/security/util/PortResolver.java
rename to web/src/main/java/org/springframework/security/web/util/PortResolver.java
index b21fd71be3..9512bcaee2 100644
--- a/core/src/main/java/org/springframework/security/util/PortResolver.java
+++ b/web/src/main/java/org/springframework/security/web/util/PortResolver.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.util;
+package org.springframework.security.web.util;
import javax.servlet.ServletRequest;
diff --git a/core/src/main/java/org/springframework/security/util/PortResolverImpl.java b/web/src/main/java/org/springframework/security/web/util/PortResolverImpl.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/util/PortResolverImpl.java
rename to web/src/main/java/org/springframework/security/web/util/PortResolverImpl.java
index 40e53e93d3..1242b32e63 100644
--- a/core/src/main/java/org/springframework/security/util/PortResolverImpl.java
+++ b/web/src/main/java/org/springframework/security/web/util/PortResolverImpl.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.util;
+package org.springframework.security.web.util;
import org.springframework.util.Assert;
diff --git a/core/src/main/java/org/springframework/security/util/RedirectUrlBuilder.java b/web/src/main/java/org/springframework/security/web/util/RedirectUrlBuilder.java
similarity index 97%
rename from core/src/main/java/org/springframework/security/util/RedirectUrlBuilder.java
rename to web/src/main/java/org/springframework/security/web/util/RedirectUrlBuilder.java
index 0fa4741448..53748ec099 100644
--- a/core/src/main/java/org/springframework/security/util/RedirectUrlBuilder.java
+++ b/web/src/main/java/org/springframework/security/web/util/RedirectUrlBuilder.java
@@ -1,4 +1,4 @@
-package org.springframework.security.util;
+package org.springframework.security.web.util;
import org.springframework.util.Assert;
diff --git a/core/src/main/java/org/springframework/security/util/RedirectUtils.java b/web/src/main/java/org/springframework/security/web/util/RedirectUtils.java
similarity index 97%
rename from core/src/main/java/org/springframework/security/util/RedirectUtils.java
rename to web/src/main/java/org/springframework/security/web/util/RedirectUtils.java
index 6a152ae9ac..1eade5fae0 100644
--- a/core/src/main/java/org/springframework/security/util/RedirectUtils.java
+++ b/web/src/main/java/org/springframework/security/web/util/RedirectUtils.java
@@ -1,4 +1,4 @@
-package org.springframework.security.util;
+package org.springframework.security.web.util;
import org.springframework.security.ui.AbstractProcessingFilter;
import org.springframework.security.ui.logout.LogoutFilter;
diff --git a/core/src/main/java/org/springframework/security/util/SessionUtils.java b/web/src/main/java/org/springframework/security/web/util/SessionUtils.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/util/SessionUtils.java
rename to web/src/main/java/org/springframework/security/web/util/SessionUtils.java
index 3567bcf616..7c14b2d345 100644
--- a/core/src/main/java/org/springframework/security/util/SessionUtils.java
+++ b/web/src/main/java/org/springframework/security/web/util/SessionUtils.java
@@ -1,4 +1,4 @@
-package org.springframework.security.util;
+package org.springframework.security.web.util;
import java.util.Enumeration;
import java.util.HashMap;
diff --git a/core/src/main/java/org/springframework/security/util/UrlUtils.java b/web/src/main/java/org/springframework/security/web/util/UrlUtils.java
similarity index 96%
rename from core/src/main/java/org/springframework/security/util/UrlUtils.java
rename to web/src/main/java/org/springframework/security/web/util/UrlUtils.java
index 939a4977ce..fd54365867 100644
--- a/core/src/main/java/org/springframework/security/util/UrlUtils.java
+++ b/web/src/main/java/org/springframework/security/web/util/UrlUtils.java
@@ -13,7 +13,7 @@
* limitations under the License.
*/
-package org.springframework.security.util;
+package org.springframework.security.web.util;
import javax.servlet.http.HttpServletRequest;
diff --git a/core/src/main/java/org/springframework/security/wrapper/SavedRequestAwareWrapper.java b/web/src/main/java/org/springframework/security/wrapper/SavedRequestAwareWrapper.java
similarity index 96%
rename from core/src/main/java/org/springframework/security/wrapper/SavedRequestAwareWrapper.java
rename to web/src/main/java/org/springframework/security/wrapper/SavedRequestAwareWrapper.java
index 82b8543d87..60b4c1ec05 100644
--- a/core/src/main/java/org/springframework/security/wrapper/SavedRequestAwareWrapper.java
+++ b/web/src/main/java/org/springframework/security/wrapper/SavedRequestAwareWrapper.java
@@ -37,7 +37,7 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.security.ui.savedrequest.Enumerator;
import org.springframework.security.ui.savedrequest.FastHttpDateFormat;
import org.springframework.security.ui.savedrequest.SavedRequest;
-import org.springframework.security.util.PortResolver;
+import org.springframework.security.web.util.PortResolver;
/**
diff --git a/core/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestFilter.java b/web/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestFilter.java
similarity index 96%
rename from core/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestFilter.java
rename to web/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestFilter.java
index c185806502..1643f30c8d 100644
--- a/core/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestFilter.java
+++ b/web/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestFilter.java
@@ -25,8 +25,8 @@ import javax.servlet.http.HttpServletResponse;
import org.springframework.security.ui.FilterChainOrder;
import org.springframework.security.ui.SpringSecurityFilter;
-import org.springframework.security.util.PortResolver;
-import org.springframework.security.util.PortResolverImpl;
+import org.springframework.security.web.util.PortResolver;
+import org.springframework.security.web.util.PortResolverImpl;
import org.springframework.util.Assert;
import org.springframework.util.ReflectionUtils;
diff --git a/core/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestWrapper.java b/web/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestWrapper.java
similarity index 98%
rename from core/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestWrapper.java
rename to web/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestWrapper.java
index 4244fb2c47..ccb9036f9d 100644
--- a/core/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestWrapper.java
+++ b/web/src/main/java/org/springframework/security/wrapper/SecurityContextHolderAwareRequestWrapper.java
@@ -23,7 +23,7 @@ import org.springframework.security.GrantedAuthority;
import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.userdetails.UserDetails;
-import org.springframework.security.util.PortResolver;
+import org.springframework.security.web.util.PortResolver;
import java.security.Principal;
import java.util.List;
diff --git a/core/src/main/java/org/springframework/security/wrapper/package.html b/web/src/main/java/org/springframework/security/wrapper/package.html
similarity index 100%
rename from core/src/main/java/org/springframework/security/wrapper/package.html
rename to web/src/main/java/org/springframework/security/wrapper/package.html
diff --git a/core/src/test/java/org/springframework/security/MockAuthenticationEntryPoint.java b/web/src/test/java/org/springframework/security/MockAuthenticationEntryPoint.java
similarity index 100%
rename from core/src/test/java/org/springframework/security/MockAuthenticationEntryPoint.java
rename to web/src/test/java/org/springframework/security/MockAuthenticationEntryPoint.java
diff --git a/core/src/test/java/org/springframework/security/MockFilterConfig.java b/web/src/test/java/org/springframework/security/MockFilterConfig.java
similarity index 100%
rename from core/src/test/java/org/springframework/security/MockFilterConfig.java
rename to web/src/test/java/org/springframework/security/MockFilterConfig.java
diff --git a/core/src/test/java/org/springframework/security/MockPortResolver.java b/web/src/test/java/org/springframework/security/MockPortResolver.java
similarity index 96%
rename from core/src/test/java/org/springframework/security/MockPortResolver.java
rename to web/src/test/java/org/springframework/security/MockPortResolver.java
index 026857196e..c2f03174d1 100644
--- a/core/src/test/java/org/springframework/security/MockPortResolver.java
+++ b/web/src/test/java/org/springframework/security/MockPortResolver.java
@@ -15,7 +15,7 @@
package org.springframework.security;
-import org.springframework.security.util.PortResolver;
+import org.springframework.security.web.util.PortResolver;
import javax.servlet.ServletRequest;
diff --git a/core/src/test/java/org/springframework/security/concurrent/ConcurrentSessionControllerImplTests.java b/web/src/test/java/org/springframework/security/concurrent/ConcurrentSessionControllerImplTests.java
similarity index 100%
rename from core/src/test/java/org/springframework/security/concurrent/ConcurrentSessionControllerImplTests.java
rename to web/src/test/java/org/springframework/security/concurrent/ConcurrentSessionControllerImplTests.java
diff --git a/core/src/test/java/org/springframework/security/concurrent/ConcurrentSessionFilterTests.java b/web/src/test/java/org/springframework/security/concurrent/ConcurrentSessionFilterTests.java
similarity index 100%
rename from core/src/test/java/org/springframework/security/concurrent/ConcurrentSessionFilterTests.java
rename to web/src/test/java/org/springframework/security/concurrent/ConcurrentSessionFilterTests.java
diff --git a/core/src/test/java/org/springframework/security/concurrent/SessionInformationTests.java b/web/src/test/java/org/springframework/security/concurrent/SessionInformationTests.java
similarity index 100%
rename from core/src/test/java/org/springframework/security/concurrent/SessionInformationTests.java
rename to web/src/test/java/org/springframework/security/concurrent/SessionInformationTests.java
diff --git a/core/src/test/java/org/springframework/security/concurrent/SessionRegistryImplTests.java b/web/src/test/java/org/springframework/security/concurrent/SessionRegistryImplTests.java
similarity index 100%
rename from core/src/test/java/org/springframework/security/concurrent/SessionRegistryImplTests.java
rename to web/src/test/java/org/springframework/security/concurrent/SessionRegistryImplTests.java
diff --git a/core/src/test/java/org/springframework/security/context/HttpSessionContextIntegrationFilterTests.java b/web/src/test/java/org/springframework/security/context/web/HttpSessionContextIntegrationFilterTests.java
similarity index 98%
rename from core/src/test/java/org/springframework/security/context/HttpSessionContextIntegrationFilterTests.java
rename to web/src/test/java/org/springframework/security/context/web/HttpSessionContextIntegrationFilterTests.java
index 948ea677f8..d1af0d360e 100644
--- a/core/src/test/java/org/springframework/security/context/HttpSessionContextIntegrationFilterTests.java
+++ b/web/src/test/java/org/springframework/security/context/web/HttpSessionContextIntegrationFilterTests.java
@@ -13,12 +13,15 @@
* limitations under the License.
*/
-package org.springframework.security.context;
+package org.springframework.security.context.web;
import junit.framework.TestCase;
import org.springframework.security.Authentication;
import org.springframework.security.MockFilterConfig;
+import org.springframework.security.context.SecurityContext;
+import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.context.SecurityContextImpl;
import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
import org.springframework.security.util.AuthorityUtils;
diff --git a/core/src/test/java/org/springframework/security/context/HttpSessionSecurityContextRepositoryTests.java b/web/src/test/java/org/springframework/security/context/web/HttpSessionSecurityContextRepositoryTests.java
similarity index 98%
rename from core/src/test/java/org/springframework/security/context/HttpSessionSecurityContextRepositoryTests.java
rename to web/src/test/java/org/springframework/security/context/web/HttpSessionSecurityContextRepositoryTests.java
index 22e40acadd..753efd33a1 100644
--- a/core/src/test/java/org/springframework/security/context/HttpSessionSecurityContextRepositoryTests.java
+++ b/web/src/test/java/org/springframework/security/context/web/HttpSessionSecurityContextRepositoryTests.java
@@ -1,4 +1,4 @@
-package org.springframework.security.context;
+package org.springframework.security.context.web;
import static org.junit.Assert.*;
@@ -6,6 +6,8 @@ import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.security.Authentication;
+import org.springframework.security.context.SecurityContext;
+import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.providers.TestingAuthenticationToken;
public class HttpSessionSecurityContextRepositoryTests {
diff --git a/core/src/test/java/org/springframework/security/context/SecurityContextPersistenceFilterTests.java b/web/src/test/java/org/springframework/security/context/web/SecurityContextPersistenceFilterTests.java
similarity index 96%
rename from core/src/test/java/org/springframework/security/context/SecurityContextPersistenceFilterTests.java
rename to web/src/test/java/org/springframework/security/context/web/SecurityContextPersistenceFilterTests.java
index c842e40e35..b9aa785bbc 100644
--- a/core/src/test/java/org/springframework/security/context/SecurityContextPersistenceFilterTests.java
+++ b/web/src/test/java/org/springframework/security/context/web/SecurityContextPersistenceFilterTests.java
@@ -1,4 +1,4 @@
-package org.springframework.security.context;
+package org.springframework.security.context.web;
import static org.junit.Assert.*;
@@ -18,6 +18,9 @@ import org.junit.After;
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
+import org.springframework.security.context.SecurityContext;
+import org.springframework.security.context.SecurityContextHolder;
+import org.springframework.security.context.SecurityContextImpl;
import org.springframework.security.providers.TestingAuthenticationToken;
import org.springframework.security.ui.FilterChainOrder;
diff --git a/core/src/test/java/org/springframework/security/expression/support/WebSecurityExpressionRootTests.java b/web/src/test/java/org/springframework/security/expression/web/support/WebSecurityExpressionRootTests.java
similarity index 95%
rename from core/src/test/java/org/springframework/security/expression/support/WebSecurityExpressionRootTests.java
rename to web/src/test/java/org/springframework/security/expression/web/support/WebSecurityExpressionRootTests.java
index a833459e87..00008fa7bb 100644
--- a/core/src/test/java/org/springframework/security/expression/support/WebSecurityExpressionRootTests.java
+++ b/web/src/test/java/org/springframework/security/expression/web/support/WebSecurityExpressionRootTests.java
@@ -1,4 +1,4 @@
-package org.springframework.security.expression.support;
+package org.springframework.security.expression.web.support;
import static org.junit.Assert.*;
@@ -8,7 +8,7 @@ import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.security.Authentication;
import org.springframework.security.intercept.web.FilterInvocation;
-import org.springframework.security.util.FilterInvocationUtils;
+import org.springframework.security.web.util.FilterInvocationUtils;
/**
* Tests for {@link WebSecurityExpressionRoot}.
diff --git a/core/src/test/java/org/springframework/security/intercept/web/DefaultFilterInvocationSecurityMetadataSourceTests.java b/web/src/test/java/org/springframework/security/intercept/web/DefaultFilterInvocationSecurityMetadataSourceTests.java
similarity index 98%
rename from core/src/test/java/org/springframework/security/intercept/web/DefaultFilterInvocationSecurityMetadataSourceTests.java
rename to web/src/test/java/org/springframework/security/intercept/web/DefaultFilterInvocationSecurityMetadataSourceTests.java
index 8678bdb07b..9c09d5d730 100644
--- a/core/src/test/java/org/springframework/security/intercept/web/DefaultFilterInvocationSecurityMetadataSourceTests.java
+++ b/web/src/test/java/org/springframework/security/intercept/web/DefaultFilterInvocationSecurityMetadataSourceTests.java
@@ -16,17 +16,19 @@
package org.springframework.security.intercept.web;
import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
import java.util.LinkedHashMap;
import java.util.List;
+import javax.servlet.FilterChain;
+
import org.junit.Test;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
import org.springframework.security.ConfigAttribute;
import org.springframework.security.SecurityConfig;
import org.springframework.security.util.AntUrlPathMatcher;
-import org.springframework.security.util.MockFilterChain;
/**
* Tests parts of {@link DefaultFilterInvocationSecurityMetadataSource} not tested by {@link
@@ -185,6 +187,6 @@ public class DefaultFilterInvocationSecurityMetadataSourceTests {
request.setServletPath(path);
- return new FilterInvocation(request, new MockHttpServletResponse(), new MockFilterChain());
+ return new FilterInvocation(request, new MockHttpServletResponse(), mock(FilterChain.class));
}
}
diff --git a/core/src/test/java/org/springframework/security/intercept/web/FilterInvocationTests.java b/web/src/test/java/org/springframework/security/intercept/web/FilterInvocationTests.java
similarity index 90%
rename from core/src/test/java/org/springframework/security/intercept/web/FilterInvocationTests.java
rename to web/src/test/java/org/springframework/security/intercept/web/FilterInvocationTests.java
index e58f63cb83..224cb40d2a 100644
--- a/core/src/test/java/org/springframework/security/intercept/web/FilterInvocationTests.java
+++ b/web/src/test/java/org/springframework/security/intercept/web/FilterInvocationTests.java
@@ -15,13 +15,14 @@
package org.springframework.security.intercept.web;
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+
+import javax.servlet.FilterChain;
import org.junit.Test;
-
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.mock.web.MockHttpServletResponse;
-import org.springframework.security.util.MockFilterChain;
/**
* Tests {@link FilterInvocation}.
@@ -46,7 +47,7 @@ public class FilterInvocationTests {
request.setRequestURI("/mycontext/HelloWorld/some/more/segments.html");
MockHttpServletResponse response = new MockHttpServletResponse();
- MockFilterChain chain = new MockFilterChain();
+ FilterChain chain = mock(FilterChain.class);
FilterInvocation fi = new FilterInvocation(request, response, chain);
assertEquals(request, fi.getRequest());
assertEquals(request, fi.getHttpRequest());
@@ -69,17 +70,15 @@ public class FilterInvocationTests {
@Test(expected=IllegalArgumentException.class)
public void testRejectsNullServletRequest() {
MockHttpServletResponse response = new MockHttpServletResponse();
- MockFilterChain chain = new MockFilterChain();
- new FilterInvocation(null, response, chain);
+ new FilterInvocation(null, response, mock(FilterChain.class));
}
@Test(expected=IllegalArgumentException.class)
public void testRejectsNullServletResponse() {
MockHttpServletRequest request = new MockHttpServletRequest(null, null);
- MockFilterChain chain = new MockFilterChain();
- new FilterInvocation(request, null, chain);
+ new FilterInvocation(request, null, mock(FilterChain.class));
}
@Test
@@ -94,8 +93,7 @@ public class FilterInvocationTests {
request.setRequestURI("/mycontext/HelloWorld");
MockHttpServletResponse response = new MockHttpServletResponse();
- MockFilterChain chain = new MockFilterChain();
- FilterInvocation fi = new FilterInvocation(request, response, chain);
+ FilterInvocation fi = new FilterInvocation(request, response, mock(FilterChain.class));
assertEquals("/HelloWorld?foo=bar", fi.getRequestUrl());
assertEquals("FilterInvocation: URL: /HelloWorld?foo=bar", fi.toString());
assertEquals("http://www.example.com/mycontext/HelloWorld?foo=bar", fi.getFullRequestUrl());
@@ -112,8 +110,7 @@ public class FilterInvocationTests {
request.setRequestURI("/mycontext/HelloWorld");
MockHttpServletResponse response = new MockHttpServletResponse();
- MockFilterChain chain = new MockFilterChain();
- FilterInvocation fi = new FilterInvocation(request, response, chain);
+ FilterInvocation fi = new FilterInvocation(request, response, mock(FilterChain.class));
assertEquals("/HelloWorld", fi.getRequestUrl());
assertEquals("FilterInvocation: URL: /HelloWorld", fi.toString());
assertEquals("http://www.example.com/mycontext/HelloWorld", fi.getFullRequestUrl());
diff --git a/core/src/test/java/org/springframework/security/intercept/web/FilterSecurityInterceptorTests.java b/web/src/test/java/org/springframework/security/intercept/web/FilterSecurityInterceptorTests.java
similarity index 100%
rename from core/src/test/java/org/springframework/security/intercept/web/FilterSecurityInterceptorTests.java
rename to web/src/test/java/org/springframework/security/intercept/web/FilterSecurityInterceptorTests.java
diff --git a/core/src/test/java/org/springframework/security/intercept/web/RequestKeyTests.java b/web/src/test/java/org/springframework/security/intercept/web/RequestKeyTests.java
similarity index 100%
rename from core/src/test/java/org/springframework/security/intercept/web/RequestKeyTests.java
rename to web/src/test/java/org/springframework/security/intercept/web/RequestKeyTests.java
diff --git a/core/src/test/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluatorTests.java b/web/src/test/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluatorTests.java
similarity index 98%
rename from core/src/test/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluatorTests.java
rename to web/src/test/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluatorTests.java
index 59945a5349..4de6af79c6 100644
--- a/core/src/test/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluatorTests.java
+++ b/web/src/test/java/org/springframework/security/intercept/web/WebInvocationPrivilegeEvaluatorTests.java
@@ -35,7 +35,7 @@ import org.springframework.security.MockApplicationEventPublisher;
import org.springframework.security.RunAsManager;
import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.providers.TestingAuthenticationToken;
-import org.springframework.security.util.FilterInvocationUtils;
+import org.springframework.security.web.util.FilterInvocationUtils;
/**
diff --git a/core/src/test/java/org/springframework/security/securechannel/ChannelDecisionManagerImplTests.java b/web/src/test/java/org/springframework/security/securechannel/ChannelDecisionManagerImplTests.java
similarity index 96%
rename from core/src/test/java/org/springframework/security/securechannel/ChannelDecisionManagerImplTests.java
rename to web/src/test/java/org/springframework/security/securechannel/ChannelDecisionManagerImplTests.java
index 7054281d30..7ceda60279 100644
--- a/core/src/test/java/org/springframework/security/securechannel/ChannelDecisionManagerImplTests.java
+++ b/web/src/test/java/org/springframework/security/securechannel/ChannelDecisionManagerImplTests.java
@@ -15,25 +15,24 @@
package org.springframework.security.securechannel;
-import junit.framework.TestCase;
-
-import org.springframework.security.ConfigAttribute;
-import org.springframework.security.SecurityConfig;
-
-import org.springframework.security.intercept.web.FilterInvocation;
-import org.springframework.security.util.MockFilterChain;
-
-import org.springframework.mock.web.MockHttpServletRequest;
-import org.springframework.mock.web.MockHttpServletResponse;
+import static org.mockito.Mockito.mock;
import java.io.IOException;
-
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
+import javax.servlet.FilterChain;
import javax.servlet.ServletException;
+import junit.framework.TestCase;
+
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.mock.web.MockHttpServletResponse;
+import org.springframework.security.ConfigAttribute;
+import org.springframework.security.SecurityConfig;
+import org.springframework.security.intercept.web.FilterInvocation;
+
/**
* Tests {@link ChannelDecisionManagerImpl}.
@@ -94,8 +93,7 @@ public class ChannelDecisionManagerImplTests extends TestCase {
MockHttpServletRequest request = new MockHttpServletRequest();
MockHttpServletResponse response = new MockHttpServletResponse();
- MockFilterChain chain = new MockFilterChain();
- FilterInvocation fi = new FilterInvocation(request, response, chain);
+ FilterInvocation fi = new FilterInvocation(request, response, mock(FilterChain.class));
List