Refactor SecurityContextHolder to return a SecurityContext instead of Authentication.
This commit is contained in:
@@ -15,7 +15,7 @@
|
||||
|
||||
package net.sf.acegisecurity;
|
||||
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
|
||||
|
||||
/**
|
||||
@@ -47,7 +47,8 @@ public class TargetObject implements ITargetObject {
|
||||
* <code>Authentication</code> object is authenticated or not
|
||||
*/
|
||||
public String makeLowerCase(String input) {
|
||||
Authentication auth = SecurityContext.getAuthentication();
|
||||
Authentication auth = SecurityContextHolder.getContext()
|
||||
.getAuthentication();
|
||||
|
||||
if (auth == null) {
|
||||
return input.toLowerCase() + " Authentication empty";
|
||||
@@ -69,7 +70,8 @@ public class TargetObject implements ITargetObject {
|
||||
* <code>Authentication</code> object is authenticated or not
|
||||
*/
|
||||
public String makeUpperCase(String input) {
|
||||
Authentication auth = SecurityContext.getAuthentication();
|
||||
Authentication auth = SecurityContextHolder.getContext()
|
||||
.getAuthentication();
|
||||
|
||||
return input.toUpperCase() + " " + auth.getClass().getName() + " "
|
||||
+ auth.isAuthenticated();
|
||||
|
||||
@@ -19,7 +19,7 @@ import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.util.MockFilterChain;
|
||||
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
@@ -63,13 +63,14 @@ public class HttpRequestIntegrationFilterTests extends TestCase {
|
||||
|
||||
filter.doFilter(request, response, chain);
|
||||
|
||||
if (!(SecurityContext.getAuthentication() instanceof PrincipalAcegiUserToken)) {
|
||||
System.out.println(SecurityContext.getAuthentication());
|
||||
if (!(SecurityContextHolder.getContext().getAuthentication() instanceof PrincipalAcegiUserToken)) {
|
||||
System.out.println(SecurityContextHolder.getContext()
|
||||
.getAuthentication());
|
||||
fail("Should have returned PrincipalAcegiUserToken");
|
||||
}
|
||||
|
||||
PrincipalAcegiUserToken castResult = (PrincipalAcegiUserToken) SecurityContext
|
||||
.getAuthentication();
|
||||
PrincipalAcegiUserToken castResult = (PrincipalAcegiUserToken) SecurityContextHolder.getContext()
|
||||
.getAuthentication();
|
||||
assertEquals(principal, castResult);
|
||||
}
|
||||
|
||||
@@ -91,18 +92,18 @@ public class HttpRequestIntegrationFilterTests extends TestCase {
|
||||
MockHttpServletResponse response = new MockHttpServletResponse();
|
||||
MockFilterChain chain = new MockFilterChain(true);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
filter.doFilter(request, response, chain);
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -23,6 +23,8 @@ import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.MockFilterConfig;
|
||||
import net.sf.acegisecurity.adapters.PrincipalAcegiUserToken;
|
||||
import net.sf.acegisecurity.context.HttpSessionContextIntegrationFilter;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
import org.springframework.mock.web.MockHttpServletResponse;
|
||||
@@ -60,6 +62,27 @@ public class HttpSessionContextIntegrationFilterTests extends TestCase {
|
||||
junit.textui.TestRunner.run(HttpSessionContextIntegrationFilterTests.class);
|
||||
}
|
||||
|
||||
public void testDetectsMissingOrInvalidContext() throws Exception {
|
||||
HttpSessionContextIntegrationFilter filter = new HttpSessionContextIntegrationFilter();
|
||||
|
||||
try {
|
||||
filter.setContext(null);
|
||||
filter.afterPropertiesSet();
|
||||
fail("Shown have thrown IllegalArgumentException");
|
||||
} catch (IllegalArgumentException expected) {
|
||||
assertTrue(true);
|
||||
}
|
||||
|
||||
try {
|
||||
filter.setContext(Integer.class);
|
||||
assertEquals(Integer.class, filter.getContext());
|
||||
filter.afterPropertiesSet();
|
||||
fail("Shown have thrown IllegalArgumentException");
|
||||
} catch (IllegalArgumentException expected) {
|
||||
assertTrue(true);
|
||||
}
|
||||
}
|
||||
|
||||
public void testExistingContextContentsCopiedIntoContextHolderFromSessionAndChangesToContextCopiedBackToSession()
|
||||
throws Exception {
|
||||
// Build an Authentication object we simulate came from HttpSession
|
||||
@@ -72,10 +95,14 @@ public class HttpSessionContextIntegrationFilterTests extends TestCase {
|
||||
"someone", "password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("SOME_DIFFERENT_ROLE")});
|
||||
|
||||
// Build a Context to store in HttpSession (simulating prior request)
|
||||
SecurityContext sc = new SecurityContextImpl();
|
||||
sc.setAuthentication(sessionPrincipal);
|
||||
|
||||
// Build a mock request
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.getSession().setAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_AUTHENTICATION_CONTEXT_KEY,
|
||||
sessionPrincipal);
|
||||
request.getSession().setAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY,
|
||||
sc);
|
||||
|
||||
MockHttpServletResponse response = new MockHttpServletResponse();
|
||||
FilterChain chain = new MockFilterChain(sessionPrincipal,
|
||||
@@ -83,15 +110,18 @@ public class HttpSessionContextIntegrationFilterTests extends TestCase {
|
||||
|
||||
// Prepare filter
|
||||
HttpSessionContextIntegrationFilter filter = new HttpSessionContextIntegrationFilter();
|
||||
filter.setContext(SecurityContextImpl.class);
|
||||
filter.afterPropertiesSet();
|
||||
|
||||
// Execute filter
|
||||
executeFilterInContainerSimulator(new MockFilterConfig(), filter,
|
||||
request, response, chain);
|
||||
|
||||
// Obtain new/update Authentication from HttpSession
|
||||
Authentication auth = (Authentication) request.getSession()
|
||||
.getAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_AUTHENTICATION_CONTEXT_KEY);
|
||||
assertEquals(updatedPrincipal, auth);
|
||||
SecurityContext context = (SecurityContext) request.getSession()
|
||||
.getAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY);
|
||||
assertEquals(updatedPrincipal,
|
||||
((SecurityContext) context).getAuthentication());
|
||||
}
|
||||
|
||||
public void testHttpSessionCreatedWhenContextHolderChanges()
|
||||
@@ -108,15 +138,18 @@ public class HttpSessionContextIntegrationFilterTests extends TestCase {
|
||||
|
||||
// Prepare filter
|
||||
HttpSessionContextIntegrationFilter filter = new HttpSessionContextIntegrationFilter();
|
||||
filter.setContext(SecurityContextImpl.class);
|
||||
filter.afterPropertiesSet();
|
||||
|
||||
// Execute filter
|
||||
executeFilterInContainerSimulator(new MockFilterConfig(), filter,
|
||||
request, response, chain);
|
||||
|
||||
// Obtain new/update Authentication from HttpSession
|
||||
Authentication auth = (Authentication) request.getSession(false)
|
||||
.getAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_AUTHENTICATION_CONTEXT_KEY);
|
||||
assertEquals(updatedPrincipal, auth);
|
||||
SecurityContext context = (SecurityContext) request.getSession(false)
|
||||
.getAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY);
|
||||
assertEquals(updatedPrincipal,
|
||||
((SecurityContext) context).getAuthentication());
|
||||
}
|
||||
|
||||
public void testHttpSessionNotCreatedUnlessContextHolderChanges()
|
||||
@@ -128,6 +161,8 @@ public class HttpSessionContextIntegrationFilterTests extends TestCase {
|
||||
|
||||
// Prepare filter
|
||||
HttpSessionContextIntegrationFilter filter = new HttpSessionContextIntegrationFilter();
|
||||
filter.setContext(SecurityContextImpl.class);
|
||||
filter.afterPropertiesSet();
|
||||
|
||||
// Execute filter
|
||||
executeFilterInContainerSimulator(new MockFilterConfig(), filter,
|
||||
@@ -146,7 +181,7 @@ public class HttpSessionContextIntegrationFilterTests extends TestCase {
|
||||
|
||||
// Build a mock request
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.getSession().setAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_AUTHENTICATION_CONTEXT_KEY,
|
||||
request.getSession().setAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY,
|
||||
"NOT_A_CONTEXT_OBJECT");
|
||||
|
||||
MockHttpServletResponse response = new MockHttpServletResponse();
|
||||
@@ -154,15 +189,18 @@ public class HttpSessionContextIntegrationFilterTests extends TestCase {
|
||||
|
||||
// Prepare filter
|
||||
HttpSessionContextIntegrationFilter filter = new HttpSessionContextIntegrationFilter();
|
||||
filter.setContext(SecurityContextImpl.class);
|
||||
filter.afterPropertiesSet();
|
||||
|
||||
// Execute filter
|
||||
executeFilterInContainerSimulator(new MockFilterConfig(), filter,
|
||||
request, response, chain);
|
||||
|
||||
// Obtain new/update Authentication from HttpSession
|
||||
Authentication auth = (Authentication) request.getSession()
|
||||
.getAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_AUTHENTICATION_CONTEXT_KEY);
|
||||
assertEquals(updatedPrincipal, auth);
|
||||
SecurityContext context = (SecurityContext) request.getSession()
|
||||
.getAttribute(HttpSessionContextIntegrationFilter.ACEGI_SECURITY_CONTEXT_KEY);
|
||||
assertEquals(updatedPrincipal,
|
||||
((SecurityContext) context).getAuthentication());
|
||||
}
|
||||
|
||||
private void executeFilterInContainerSimulator(FilterConfig filterConfig,
|
||||
@@ -191,11 +229,13 @@ public class HttpSessionContextIntegrationFilterTests extends TestCase {
|
||||
throws IOException, ServletException {
|
||||
if (expectedOnContextHolder != null) {
|
||||
assertEquals(expectedOnContextHolder,
|
||||
SecurityContext.getAuthentication());
|
||||
SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
if (changeContextHolder != null) {
|
||||
SecurityContext.setAuthentication(changeContextHolder);
|
||||
SecurityContext sc = SecurityContextHolder.getContext();
|
||||
sc.setAuthentication(changeContextHolder);
|
||||
SecurityContextHolder.setContext(sc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,23 +17,21 @@ package net.sf.acegisecurity.context;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
|
||||
|
||||
/**
|
||||
* Tests {@link SecurityContext}.
|
||||
* Tests {@link SecurityContextHolder}.
|
||||
*
|
||||
* @author Ben Alex
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SecurityContextTests extends TestCase {
|
||||
public class SecurityContextHolderTests extends TestCase {
|
||||
//~ Constructors ===========================================================
|
||||
|
||||
public SecurityContextTests() {
|
||||
public SecurityContextHolderTests() {
|
||||
super();
|
||||
}
|
||||
|
||||
public SecurityContextTests(String arg0) {
|
||||
public SecurityContextHolderTests(String arg0) {
|
||||
super(arg0);
|
||||
}
|
||||
|
||||
@@ -44,20 +42,25 @@ public class SecurityContextTests extends TestCase {
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
junit.textui.TestRunner.run(SecurityContextTests.class);
|
||||
}
|
||||
|
||||
public void tearDown() {
|
||||
SecurityContext.setAuthentication(null);
|
||||
junit.textui.TestRunner.run(SecurityContextHolderTests.class);
|
||||
}
|
||||
|
||||
public void testContextHolderGetterSetter() {
|
||||
assertEquals(null, SecurityContext.getAuthentication());
|
||||
SecurityContext sc = new SecurityContextImpl();
|
||||
SecurityContextHolder.setContext(sc);
|
||||
assertEquals(sc, SecurityContextHolder.getContext());
|
||||
}
|
||||
|
||||
SecurityContext.setAuthentication(new UsernamePasswordAuthenticationToken(
|
||||
"ben", "12345"));
|
||||
public void testNeverReturnsNull() {
|
||||
assertNotNull(SecurityContextHolder.getContext());
|
||||
}
|
||||
|
||||
assertEquals("12345",
|
||||
SecurityContext.getAuthentication().getCredentials());
|
||||
public void testRejectsNulls() {
|
||||
try {
|
||||
SecurityContextHolder.setContext(null);
|
||||
fail("Should have rejected null");
|
||||
} catch (IllegalArgumentException expected) {
|
||||
assertTrue(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
/* Copyright 2004, 2005 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 net.sf.acegisecurity.context;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
|
||||
|
||||
/**
|
||||
* Tests {@link SecurityContextImpl}.
|
||||
*
|
||||
* @author Ben Alex
|
||||
* @version $Id$
|
||||
*/
|
||||
public class SecurityContextImplTests extends TestCase {
|
||||
//~ Constructors ===========================================================
|
||||
|
||||
public SecurityContextImplTests() {
|
||||
super();
|
||||
}
|
||||
|
||||
public SecurityContextImplTests(String arg0) {
|
||||
super(arg0);
|
||||
}
|
||||
|
||||
//~ Methods ================================================================
|
||||
|
||||
public final void setUp() throws Exception {
|
||||
super.setUp();
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
junit.textui.TestRunner.run(SecurityContextImplTests.class);
|
||||
}
|
||||
|
||||
public void testEmptyObjectsAreEquals() {
|
||||
SecurityContextImpl obj1 = new SecurityContextImpl();
|
||||
SecurityContextImpl obj2 = new SecurityContextImpl();
|
||||
assertTrue(obj1.equals(obj2));
|
||||
}
|
||||
|
||||
public void testSecurityContextCorrectOperation() {
|
||||
SecurityContext context = new SecurityContextImpl();
|
||||
Authentication auth = new UsernamePasswordAuthenticationToken("marissa",
|
||||
"koala");
|
||||
context.setAuthentication(auth);
|
||||
assertEquals(auth, context.getAuthentication());
|
||||
assertTrue(context.toString().lastIndexOf("marissa") != -1);
|
||||
}
|
||||
}
|
||||
@@ -18,7 +18,7 @@ package net.sf.acegisecurity.context.httpinvoker;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.httpinvoker.AuthenticationSimpleHttpInvokerRequestExecutor;
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
|
||||
@@ -59,7 +59,7 @@ public class AuthenticationSimpleHttpInvokerRequestExecutorTests
|
||||
// Setup client-side context
|
||||
Authentication clientSideAuthentication = new UsernamePasswordAuthenticationToken("Aladdin",
|
||||
"open sesame");
|
||||
SecurityContext.setAuthentication(clientSideAuthentication);
|
||||
SecurityContextHolder.getContext().setAuthentication(clientSideAuthentication);
|
||||
|
||||
// Create a connection and ensure our executor sets its
|
||||
// properties correctly
|
||||
@@ -74,11 +74,11 @@ public class AuthenticationSimpleHttpInvokerRequestExecutorTests
|
||||
assertEquals("Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
|
||||
conn.getRequestProperty("Authorization"));
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testNullContextHolderIsNull() throws Exception {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
|
||||
// Create a connection and ensure our executor sets its
|
||||
// properties correctly
|
||||
|
||||
@@ -20,7 +20,8 @@ import junit.framework.TestCase;
|
||||
import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.MockMethodInvocation;
|
||||
import net.sf.acegisecurity.TargetObject;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.context.rmi.ContextPropagatingRemoteInvocation;
|
||||
import net.sf.acegisecurity.context.rmi.ContextPropagatingRemoteInvocationFactory;
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
@@ -58,14 +59,14 @@ public class ContextPropagatingRemoteInvocationTests extends TestCase {
|
||||
// Setup client-side context
|
||||
Authentication clientSideAuthentication = new UsernamePasswordAuthenticationToken("marissa",
|
||||
"koala");
|
||||
SecurityContext.setAuthentication(clientSideAuthentication);
|
||||
SecurityContextHolder.getContext().setAuthentication(clientSideAuthentication);
|
||||
|
||||
ContextPropagatingRemoteInvocation remoteInvocation = getRemoteInvocation();
|
||||
|
||||
// Set to null, as ContextPropagatingRemoteInvocation already obtained
|
||||
// a copy and nulling is necessary to ensure the Context delivered by
|
||||
// ContextPropagatingRemoteInvocation is used on server-side
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
|
||||
// The result from invoking the TargetObject should contain the
|
||||
// Authentication class delivered via the ContextHolder
|
||||
@@ -75,10 +76,10 @@ public class ContextPropagatingRemoteInvocationTests extends TestCase {
|
||||
|
||||
public void testNullContextHolderDoesNotCauseInvocationProblems()
|
||||
throws Exception {
|
||||
SecurityContext.setAuthentication(null); // just to be explicit
|
||||
SecurityContextHolder.getContext().setAuthentication(null); // just to be explicit
|
||||
|
||||
ContextPropagatingRemoteInvocation remoteInvocation = getRemoteInvocation();
|
||||
SecurityContext.setAuthentication(null); // unnecessary, but for explicitness
|
||||
SecurityContextHolder.getContext().setAuthentication(null); // unnecessary, but for explicitness
|
||||
|
||||
assertEquals("some_string Authentication empty",
|
||||
remoteInvocation.invoke(new TargetObject()));
|
||||
|
||||
@@ -27,7 +27,7 @@ import net.sf.acegisecurity.OtherTargetObject;
|
||||
import net.sf.acegisecurity.SecurityConfig;
|
||||
import net.sf.acegisecurity.TargetObject;
|
||||
import net.sf.acegisecurity.acl.basic.SomeDomain;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
@@ -168,14 +168,14 @@ public class MethodDefinitionAttributesTests extends TestCase {
|
||||
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_INTERFACE_METHOD_MAKE_UPPER_CASE")});
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
ITargetObject target = makeInterceptedTarget();
|
||||
String result = target.makeUpperCase("hello");
|
||||
assertEquals("HELLO net.sf.acegisecurity.MockRunAsAuthenticationToken true",
|
||||
result);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testMethodCallWithoutRunAsReplacement()
|
||||
@@ -183,7 +183,7 @@ public class MethodDefinitionAttributesTests extends TestCase {
|
||||
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_INTERFACE_METHOD_MAKE_LOWER_CASE")});
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
ITargetObject target = makeInterceptedTarget();
|
||||
String result = target.makeLowerCase("HELLO");
|
||||
@@ -191,7 +191,7 @@ public class MethodDefinitionAttributesTests extends TestCase {
|
||||
assertEquals("hello net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken true",
|
||||
result);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testNullReturnedIfZeroAttributesDefinedForMethodInvocation()
|
||||
|
||||
@@ -33,7 +33,7 @@ import net.sf.acegisecurity.MockAfterInvocationManager;
|
||||
import net.sf.acegisecurity.MockAuthenticationManager;
|
||||
import net.sf.acegisecurity.MockRunAsManager;
|
||||
import net.sf.acegisecurity.RunAsManager;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.intercept.method.AbstractMethodDefinitionSource;
|
||||
import net.sf.acegisecurity.intercept.method.MockMethodDefinitionSource;
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
@@ -80,7 +80,7 @@ public class MethodSecurityInterceptorTests extends TestCase {
|
||||
String result = target.publicMakeLowerCase("HELLO");
|
||||
assertEquals("hello Authentication empty", result);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testCallingAPublicMethodWhenPresentingAnAuthenticationObjectWillProperlySetItsIsAuthenticatedProperty()
|
||||
@@ -89,21 +89,21 @@ public class MethodSecurityInterceptorTests extends TestCase {
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_THIS_IS_NOT_REQUIRED_AS_IT_IS_PUBLIC")});
|
||||
assertTrue(!token.isAuthenticated());
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
ITargetObject target = makeInterceptedTarget();
|
||||
String result = target.publicMakeLowerCase("HELLO");
|
||||
assertEquals("hello net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken false",
|
||||
result);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testDeniesWhenAppropriate() throws Exception {
|
||||
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_NO_BENEFIT_TO_THIS_GRANTED_AUTHORITY")});
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
ITargetObject target = makeInterceptedTarget();
|
||||
|
||||
@@ -114,7 +114,7 @@ public class MethodSecurityInterceptorTests extends TestCase {
|
||||
assertTrue(true);
|
||||
}
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testGetters() {
|
||||
@@ -143,14 +143,14 @@ public class MethodSecurityInterceptorTests extends TestCase {
|
||||
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_UPPER")});
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
ITargetObject target = makeInterceptedTarget();
|
||||
String result = target.makeUpperCase("hello");
|
||||
assertEquals("HELLO net.sf.acegisecurity.MockRunAsAuthenticationToken true",
|
||||
result);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testMethodCallWithoutRunAsReplacement()
|
||||
@@ -159,7 +159,7 @@ public class MethodSecurityInterceptorTests extends TestCase {
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_LOWER")});
|
||||
assertTrue(!token.isAuthenticated());
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
ITargetObject target = makeInterceptedTargetWithoutAnAfterInvocationManager();
|
||||
String result = target.makeLowerCase("HELLO");
|
||||
@@ -168,7 +168,7 @@ public class MethodSecurityInterceptorTests extends TestCase {
|
||||
assertEquals("hello net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken true",
|
||||
result);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testRejectionOfEmptySecurityContext() throws Exception {
|
||||
@@ -206,7 +206,7 @@ public class MethodSecurityInterceptorTests extends TestCase {
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_LOWER")});
|
||||
assertTrue(!token.isAuthenticated());
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
ITargetObject target = makeInterceptedTargetRejectsAuthentication();
|
||||
|
||||
@@ -217,7 +217,7 @@ public class MethodSecurityInterceptorTests extends TestCase {
|
||||
assertTrue(true);
|
||||
}
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testRejectsCallsWhenObjectDefinitionSourceDoesNotSupportObject()
|
||||
|
||||
@@ -26,7 +26,7 @@ import net.sf.acegisecurity.MockAuthenticationManager;
|
||||
import net.sf.acegisecurity.MockJoinPoint;
|
||||
import net.sf.acegisecurity.MockRunAsManager;
|
||||
import net.sf.acegisecurity.TargetObject;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.intercept.method.MethodDefinitionMap;
|
||||
import net.sf.acegisecurity.intercept.method.MethodDefinitionSourceEditor;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
@@ -86,7 +86,7 @@ public class AspectJSecurityInterceptorTests extends TestCase {
|
||||
|
||||
MockAspectJCallback aspectJCallback = new MockAspectJCallback();
|
||||
|
||||
SecurityContext.setAuthentication(new TestingAuthenticationToken(
|
||||
SecurityContextHolder.getContext().setAuthentication(new TestingAuthenticationToken(
|
||||
"marissa", "koala",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_ONE")}));
|
||||
|
||||
@@ -94,7 +94,7 @@ public class AspectJSecurityInterceptorTests extends TestCase {
|
||||
|
||||
assertEquals("object proceeded", result);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testCallbackIsNotInvokedWhenPermissionDenied()
|
||||
@@ -122,7 +122,7 @@ public class AspectJSecurityInterceptorTests extends TestCase {
|
||||
MockAspectJCallback aspectJCallback = new MockAspectJCallback();
|
||||
aspectJCallback.setThrowExceptionIfInvoked(true);
|
||||
|
||||
SecurityContext.setAuthentication(new TestingAuthenticationToken(
|
||||
SecurityContextHolder.getContext().setAuthentication(new TestingAuthenticationToken(
|
||||
"marissa", "koala", new GrantedAuthority[] {}));
|
||||
|
||||
try {
|
||||
@@ -132,7 +132,7 @@ public class AspectJSecurityInterceptorTests extends TestCase {
|
||||
assertTrue(true);
|
||||
}
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
//~ Inner Classes ==========================================================
|
||||
|
||||
@@ -30,7 +30,8 @@ import net.sf.acegisecurity.MockAuthenticationManager;
|
||||
import net.sf.acegisecurity.MockRunAsManager;
|
||||
import net.sf.acegisecurity.RunAsManager;
|
||||
import net.sf.acegisecurity.SecurityConfig;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
@@ -170,14 +171,14 @@ public class FilterSecurityInterceptorTests extends TestCase {
|
||||
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_OK")});
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
// Create and test our secure object
|
||||
FilterInvocation fi = new FilterInvocation(request, response, chain);
|
||||
interceptor.invoke(fi);
|
||||
|
||||
// Destroy the Context
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
public void testNormalStartupAndGetter() throws Exception {
|
||||
@@ -228,14 +229,14 @@ public class FilterSecurityInterceptorTests extends TestCase {
|
||||
UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test",
|
||||
"Password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("MOCK_OK")});
|
||||
SecurityContext.setAuthentication(token);
|
||||
SecurityContextHolder.getContext().setAuthentication(token);
|
||||
|
||||
// Create and test our secure object
|
||||
FilterInvocation fi = new FilterInvocation(request, response, chain);
|
||||
interceptor.invoke(fi);
|
||||
|
||||
// Destroy the Context
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
//~ Inner Classes ==========================================================
|
||||
|
||||
@@ -23,7 +23,8 @@ import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.MockAuthenticationEntryPoint;
|
||||
import net.sf.acegisecurity.MockPortResolver;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.anonymous.AnonymousAuthenticationToken;
|
||||
import net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter;
|
||||
|
||||
@@ -83,7 +84,7 @@ public class SecurityEnforcementFilterTests extends TestCase {
|
||||
false, false, false);
|
||||
|
||||
// Setup ContextHolder, as filter needs to check if user is anonymous
|
||||
SecurityContext.setAuthentication(new AnonymousAuthenticationToken(
|
||||
SecurityContextHolder.getContext().setAuthentication(new AnonymousAuthenticationToken(
|
||||
"ignored", "ignored",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("IGNORED")}));
|
||||
|
||||
@@ -113,7 +114,7 @@ public class SecurityEnforcementFilterTests extends TestCase {
|
||||
false, false, false);
|
||||
|
||||
// Setup ContextHolder, as filter needs to check if user is anonymous
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
|
||||
// Test
|
||||
SecurityEnforcementFilter filter = new SecurityEnforcementFilter();
|
||||
@@ -356,7 +357,7 @@ public class SecurityEnforcementFilterTests extends TestCase {
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
//~ Inner Classes ==========================================================
|
||||
|
||||
@@ -21,7 +21,8 @@ import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.MockFilterConfig;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
import net.sf.acegisecurity.providers.dao.memory.UserAttribute;
|
||||
|
||||
@@ -109,7 +110,7 @@ public class AnonymousProcessingFilterTests extends TestCase {
|
||||
Authentication originalAuth = new TestingAuthenticationToken("user",
|
||||
"password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_A")});
|
||||
SecurityContext.setAuthentication(originalAuth);
|
||||
SecurityContextHolder.getContext().setAuthentication(originalAuth);
|
||||
|
||||
// Setup our filter correctly
|
||||
UserAttribute user = new UserAttribute();
|
||||
@@ -128,7 +129,8 @@ public class AnonymousProcessingFilterTests extends TestCase {
|
||||
request, new MockHttpServletResponse(), new MockFilterChain(true));
|
||||
|
||||
// Ensure filter didn't change our original object
|
||||
assertEquals(originalAuth, SecurityContext.getAuthentication());
|
||||
assertEquals(originalAuth,
|
||||
SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testOperationWhenNoAuthenticationInContextHolder()
|
||||
@@ -147,7 +149,8 @@ public class AnonymousProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(new MockFilterConfig(), filter,
|
||||
request, new MockHttpServletResponse(), new MockFilterChain(true));
|
||||
|
||||
Authentication auth = SecurityContext.getAuthentication();
|
||||
Authentication auth = SecurityContextHolder.getContext()
|
||||
.getAuthentication();
|
||||
assertEquals("anonymousUsername", auth.getPrincipal());
|
||||
assertEquals(new GrantedAuthorityImpl("ROLE_ANONYMOUS"),
|
||||
auth.getAuthorities()[0]);
|
||||
@@ -155,12 +158,12 @@ public class AnonymousProcessingFilterTests extends TestCase {
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
private void executeFilterInContainerSimulator(FilterConfig filterConfig,
|
||||
|
||||
@@ -17,7 +17,8 @@ package net.sf.acegisecurity.providers.jaas;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
|
||||
import java.util.HashSet;
|
||||
@@ -44,7 +45,7 @@ public class SecureContextLoginModuleTest extends TestCase {
|
||||
|
||||
public void testAbort() throws Exception {
|
||||
assertFalse("Should return false, no auth is set", module.abort());
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
module.login();
|
||||
module.commit();
|
||||
assertTrue(module.abort());
|
||||
@@ -59,7 +60,7 @@ public class SecureContextLoginModuleTest extends TestCase {
|
||||
}
|
||||
|
||||
public void testLoginSuccess() throws Exception {
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
assertTrue("Login should succeed, there is an authentication set",
|
||||
module.login());
|
||||
assertTrue("The authentication is not null, this should return true",
|
||||
@@ -69,7 +70,7 @@ public class SecureContextLoginModuleTest extends TestCase {
|
||||
}
|
||||
|
||||
public void testLogout() throws Exception {
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
module.login();
|
||||
assertTrue("Should return true as it succeeds", module.logout());
|
||||
assertEquals("Authentication should be null", null,
|
||||
@@ -81,7 +82,7 @@ public class SecureContextLoginModuleTest extends TestCase {
|
||||
|
||||
public void testNullAuthenticationInSecureContext()
|
||||
throws Exception {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
assertFalse("Should return false and ask to be ignored", module.login());
|
||||
}
|
||||
|
||||
@@ -92,11 +93,11 @@ public class SecureContextLoginModuleTest extends TestCase {
|
||||
protected void setUp() throws Exception {
|
||||
module = new SecureContextLoginModule();
|
||||
module.initialize(subject, null, null, null);
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
module = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,7 @@ import net.sf.acegisecurity.acl.AclEntry;
|
||||
import net.sf.acegisecurity.acl.AclManager;
|
||||
import net.sf.acegisecurity.acl.basic.MockAclObjectIdentity;
|
||||
import net.sf.acegisecurity.acl.basic.SimpleAclEntry;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
@@ -53,34 +53,34 @@ public class AclTagTests extends TestCase {
|
||||
throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken("marissa",
|
||||
"koala", new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
aclTag.setHasPermission(new Long(SimpleAclEntry.ADMINISTRATION)
|
||||
.toString());
|
||||
aclTag.setDomainObject(new Integer(54));
|
||||
assertEquals(Tag.SKIP_BODY, aclTag.doStartTag());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testInclusionDeniedWhenNoListOfPermissionsGiven()
|
||||
throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken("marissa",
|
||||
"koala", new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
aclTag.setHasPermission(null);
|
||||
aclTag.setDomainObject("object1");
|
||||
assertEquals(Tag.SKIP_BODY, aclTag.doStartTag());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testInclusionDeniedWhenPrincipalDoesNotHoldAnyPermissions()
|
||||
throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken("john", "crow",
|
||||
new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
aclTag.setHasPermission(new Integer(SimpleAclEntry.ADMINISTRATION)
|
||||
+ "," + new Integer(SimpleAclEntry.READ));
|
||||
@@ -90,32 +90,32 @@ public class AclTagTests extends TestCase {
|
||||
assertEquals("object1", aclTag.getDomainObject());
|
||||
assertEquals(Tag.SKIP_BODY, aclTag.doStartTag());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testInclusionDeniedWhenPrincipalDoesNotHoldRequiredPermissions()
|
||||
throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken("marissa",
|
||||
"koala", new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
aclTag.setHasPermission(new Integer(SimpleAclEntry.DELETE).toString());
|
||||
aclTag.setDomainObject("object1");
|
||||
assertEquals(Tag.SKIP_BODY, aclTag.doStartTag());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testInclusionDeniedWhenSecurityContextEmpty()
|
||||
throws JspException {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
|
||||
aclTag.setHasPermission(new Long(SimpleAclEntry.ADMINISTRATION)
|
||||
.toString());
|
||||
aclTag.setDomainObject("object1");
|
||||
assertEquals(Tag.SKIP_BODY, aclTag.doStartTag());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testInclusionPermittedWhenDomainObjectIsNull()
|
||||
@@ -129,7 +129,7 @@ public class AclTagTests extends TestCase {
|
||||
throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken("john", "crow",
|
||||
new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
aclTag.setHasPermission("0,5, 6"); // shouldn't be any space
|
||||
|
||||
@@ -140,34 +140,34 @@ public class AclTagTests extends TestCase {
|
||||
assertTrue(true);
|
||||
}
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testOperationWhenPrincipalHoldsPermissionOfMultipleList()
|
||||
throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken("marissa",
|
||||
"koala", new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
aclTag.setHasPermission(new Integer(SimpleAclEntry.ADMINISTRATION)
|
||||
+ "," + new Integer(SimpleAclEntry.READ));
|
||||
aclTag.setDomainObject("object1");
|
||||
assertEquals(Tag.EVAL_BODY_INCLUDE, aclTag.doStartTag());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testOperationWhenPrincipalHoldsPermissionOfSingleList()
|
||||
throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken("marissa",
|
||||
"koala", new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
aclTag.setHasPermission(new Integer(SimpleAclEntry.READ).toString());
|
||||
aclTag.setDomainObject("object1");
|
||||
assertEquals(Tag.EVAL_BODY_INCLUDE, aclTag.doStartTag());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
//~ Inner Classes ==========================================================
|
||||
|
||||
@@ -19,7 +19,7 @@ import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
import net.sf.acegisecurity.providers.dao.User;
|
||||
|
||||
@@ -43,7 +43,7 @@ public class AuthenticationTagTests extends TestCase {
|
||||
public void testOperationWhenPrincipalIsAString() throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken("marissaAsString",
|
||||
"koala", new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
authenticationTag.setOperation("principal");
|
||||
assertEquals(Tag.SKIP_BODY, authenticationTag.doStartTag());
|
||||
@@ -56,7 +56,7 @@ public class AuthenticationTagTests extends TestCase {
|
||||
"marissaUserDetails", "koala", true, true, true, true,
|
||||
new GrantedAuthority[] {}), "koala",
|
||||
new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
authenticationTag.setOperation("principal");
|
||||
assertEquals(Tag.SKIP_BODY, authenticationTag.doStartTag());
|
||||
@@ -66,7 +66,7 @@ public class AuthenticationTagTests extends TestCase {
|
||||
public void testOperationWhenPrincipalIsNull() throws JspException {
|
||||
Authentication auth = new TestingAuthenticationToken(null, "koala",
|
||||
new GrantedAuthority[] {});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
authenticationTag.setOperation("principal");
|
||||
assertEquals(Tag.SKIP_BODY, authenticationTag.doStartTag());
|
||||
@@ -74,13 +74,13 @@ public class AuthenticationTagTests extends TestCase {
|
||||
|
||||
public void testOperationWhenSecurityContextIsNull()
|
||||
throws JspException {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
|
||||
authenticationTag.setOperation("principal");
|
||||
assertEquals(Tag.SKIP_BODY, authenticationTag.doStartTag());
|
||||
assertEquals(null, authenticationTag.getLastMessage());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testSkipsBodyIfNullOrEmptyOperation() throws Exception {
|
||||
|
||||
@@ -19,7 +19,8 @@ import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
|
||||
import javax.servlet.jsp.JspException;
|
||||
@@ -93,10 +94,10 @@ public class AuthorizeTagAttributeTests extends TestCase {
|
||||
"ROLE_SUPERVISOR"), new GrantedAuthorityImpl(
|
||||
"ROLE_RESTRICTED"),});
|
||||
|
||||
SecurityContext.setAuthentication(currentUser);
|
||||
SecurityContextHolder.getContext().setAuthentication(currentUser);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,7 +18,8 @@ package net.sf.acegisecurity.taglibs.authz;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
|
||||
import javax.servlet.jsp.JspException;
|
||||
@@ -49,7 +50,7 @@ public class AuthorizeTagCustomGrantedAuthorityTests extends TestCase {
|
||||
public void testRejectsRequestWhenCustomAuthorityReturnsNull()
|
||||
throws JspException {
|
||||
authorizeTag.setIfAnyGranted("ROLE_TELLER");
|
||||
SecurityContext.setAuthentication(new TestingAuthenticationToken(
|
||||
SecurityContextHolder.getContext().setAuthentication(new TestingAuthenticationToken(
|
||||
"abc", "123",
|
||||
new GrantedAuthority[] {new CustomGrantedAuthority(null)}));
|
||||
|
||||
@@ -68,11 +69,11 @@ public class AuthorizeTagCustomGrantedAuthorityTests extends TestCase {
|
||||
new GrantedAuthority[] {new CustomGrantedAuthority(
|
||||
"ROLE_TELLER")});
|
||||
|
||||
SecurityContext.setAuthentication(currentUser);
|
||||
SecurityContextHolder.getContext().setAuthentication(currentUser);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
//~ Inner Classes ==========================================================
|
||||
|
||||
@@ -19,7 +19,8 @@ import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
|
||||
import org.springframework.mock.web.MockPageContext;
|
||||
@@ -76,10 +77,10 @@ public class AuthorizeTagExpressionLanguageTests extends TestCase {
|
||||
currentUser = new TestingAuthenticationToken("abc", "123",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_TELLER"),});
|
||||
|
||||
SecurityContext.setAuthentication(currentUser);
|
||||
SecurityContextHolder.getContext().setAuthentication(currentUser);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,8 @@ import junit.framework.TestCase;
|
||||
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
|
||||
import javax.servlet.jsp.JspException;
|
||||
@@ -42,7 +43,7 @@ public class AuthorizeTagTests extends TestCase {
|
||||
|
||||
public void testAlwaysReturnsUnauthorizedIfNoUserFound()
|
||||
throws JspException {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
|
||||
authorizeTag.setIfAllGranted("ROLE_TELLER");
|
||||
assertEquals("prevents request - no principal in Context",
|
||||
@@ -80,7 +81,7 @@ public class AuthorizeTagTests extends TestCase {
|
||||
|
||||
public void testPreventsBodyOutputIfNoSecureContext()
|
||||
throws JspException {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
authorizeTag.setIfAnyGranted("ROLE_BANKER");
|
||||
|
||||
assertEquals("prevents output - no context defined", Tag.SKIP_BODY,
|
||||
@@ -115,10 +116,10 @@ public class AuthorizeTagTests extends TestCase {
|
||||
"ROLE_SUPERVISOR"), new GrantedAuthorityImpl(
|
||||
"ROLE_TELLER"),});
|
||||
|
||||
SecurityContext.setAuthentication(currentUser);
|
||||
SecurityContextHolder.getContext().setAuthentication(currentUser);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,8 @@ import net.sf.acegisecurity.BadCredentialsException;
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.MockAuthenticationManager;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.UsernamePasswordAuthenticationToken;
|
||||
import net.sf.acegisecurity.ui.rememberme.TokenBasedRememberMeServices;
|
||||
|
||||
@@ -129,7 +130,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
||||
chain);
|
||||
|
||||
assertEquals("/myApp/failed.jsp", response.getRedirectedUrl());
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
|
||||
//Prepare again, this time using the exception mapping
|
||||
filter = new MockAbstractProcessingFilter(new AccountExpiredException(
|
||||
@@ -147,7 +148,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
||||
chain);
|
||||
|
||||
assertEquals("/myApp/accountExpired.jsp", response.getRedirectedUrl());
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testFilterProcessesUrlVariationsRespected()
|
||||
@@ -173,9 +174,10 @@ public class AbstractProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
assertEquals("/logged_in.jsp", response.getRedirectedUrl());
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals("test",
|
||||
SecurityContext.getAuthentication().getPrincipal().toString());
|
||||
SecurityContextHolder.getContext().getAuthentication().getPrincipal()
|
||||
.toString());
|
||||
}
|
||||
|
||||
public void testGettersSetters() {
|
||||
@@ -247,9 +249,10 @@ public class AbstractProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
assertEquals("/logged_in.jsp", response.getRedirectedUrl());
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals("test",
|
||||
SecurityContext.getAuthentication().getPrincipal().toString());
|
||||
SecurityContextHolder.getContext().getAuthentication().getPrincipal()
|
||||
.toString());
|
||||
}
|
||||
|
||||
public void testStartupDetectsInvalidAuthenticationFailureUrl()
|
||||
@@ -338,9 +341,10 @@ public class AbstractProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
assertEquals("/logged_in.jsp", response.getRedirectedUrl());
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals("test",
|
||||
SecurityContext.getAuthentication().getPrincipal().toString());
|
||||
SecurityContextHolder.getContext().getAuthentication().getPrincipal()
|
||||
.toString());
|
||||
|
||||
// Now try again but this time have filter deny access
|
||||
// Setup our HTTP request
|
||||
@@ -356,7 +360,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
||||
// Test
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testSuccessfulAuthenticationButWithAlwaysUseDefaultTargetUrlCausesRedirectToDefaultTargetUrl()
|
||||
@@ -385,7 +389,7 @@ public class AbstractProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
assertEquals("/foobar", response.getRedirectedUrl());
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testSuccessfulAuthenticationCausesRedirectToSessionSpecifiedUrl()
|
||||
@@ -410,17 +414,17 @@ public class AbstractProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
assertEquals("/my-destination", response.getRedirectedUrl());
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
private MockHttpServletRequest createMockRequest() {
|
||||
|
||||
@@ -21,7 +21,8 @@ import net.sf.acegisecurity.MockAuthenticationEntryPoint;
|
||||
import net.sf.acegisecurity.MockAuthenticationManager;
|
||||
import net.sf.acegisecurity.MockFilterConfig;
|
||||
import net.sf.acegisecurity.UserDetails;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
|
||||
import org.apache.commons.codec.binary.Base64;
|
||||
|
||||
@@ -115,7 +116,7 @@ public class BasicProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testGettersSetters() {
|
||||
@@ -154,7 +155,7 @@ public class BasicProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testNormalOperation() throws Exception {
|
||||
@@ -182,10 +183,10 @@ public class BasicProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals("marissa",
|
||||
((UserDetails) SecurityContext.getAuthentication().getPrincipal())
|
||||
.getUsername());
|
||||
((UserDetails) SecurityContextHolder.getContext().getAuthentication()
|
||||
.getPrincipal()).getUsername());
|
||||
}
|
||||
|
||||
public void testOtherAuthorizationSchemeIsIgnored()
|
||||
@@ -212,7 +213,7 @@ public class BasicProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testStartupDetectsMissingAuthenticationEntryPoint()
|
||||
@@ -268,10 +269,10 @@ public class BasicProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals("marissa",
|
||||
((UserDetails) SecurityContext.getAuthentication().getPrincipal())
|
||||
.getUsername());
|
||||
((UserDetails) SecurityContextHolder.getContext().getAuthentication()
|
||||
.getPrincipal()).getUsername());
|
||||
|
||||
// NOW PERFORM FAILED AUTHENTICATION
|
||||
// Setup our HTTP request
|
||||
@@ -289,7 +290,7 @@ public class BasicProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -318,18 +319,18 @@ public class BasicProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
private void executeFilterInContainerSimulator(FilterConfig filterConfig,
|
||||
|
||||
@@ -20,7 +20,8 @@ import junit.framework.TestCase;
|
||||
import net.sf.acegisecurity.DisabledException;
|
||||
import net.sf.acegisecurity.MockFilterConfig;
|
||||
import net.sf.acegisecurity.UserDetails;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.dao.AuthenticationDao;
|
||||
import net.sf.acegisecurity.providers.dao.UserCache;
|
||||
import net.sf.acegisecurity.providers.dao.UsernameNotFoundException;
|
||||
@@ -141,7 +142,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
|
||||
String header = response.getHeader("WWW-Authenticate").toString()
|
||||
@@ -175,7 +176,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testGettersSetters() {
|
||||
@@ -220,7 +221,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
chain);
|
||||
assertEquals(401, response.getStatus());
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testMalformedHeaderReturnsForbidden() throws Exception {
|
||||
@@ -246,7 +247,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -289,7 +290,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -333,7 +334,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -377,7 +378,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -421,7 +422,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -463,9 +464,9 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals("marissa",
|
||||
((UserDetails) SecurityContext.getAuthentication().getPrincipal())
|
||||
((UserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal())
|
||||
.getUsername());
|
||||
}
|
||||
|
||||
@@ -493,7 +494,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testStartupDetectsMissingAuthenticationDao()
|
||||
@@ -561,7 +562,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNotNull(SecurityContext.getAuthentication());
|
||||
assertNotNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
|
||||
// Now retry, giving an invalid nonce
|
||||
password = "WRONG_PASSWORD";
|
||||
@@ -576,7 +577,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
chain);
|
||||
|
||||
// Check we lost our previous authentication
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -619,7 +620,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -661,7 +662,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -703,7 +704,7 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
@@ -745,18 +746,18 @@ public class DigestProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(config, filter, request, response,
|
||||
chain);
|
||||
|
||||
assertNull(SecurityContext.getAuthentication());
|
||||
assertNull(SecurityContextHolder.getContext().getAuthentication());
|
||||
assertEquals(401, response.getStatus());
|
||||
}
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
private String createAuthorizationHeader(String username, String realm,
|
||||
|
||||
@@ -21,7 +21,8 @@ import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.MockFilterConfig;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.context.SecurityContextImpl;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
|
||||
import org.springframework.mock.web.MockHttpServletRequest;
|
||||
@@ -121,7 +122,7 @@ public class RememberMeProcessingFilterTests extends TestCase {
|
||||
Authentication originalAuth = new TestingAuthenticationToken("user",
|
||||
"password",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_A")});
|
||||
SecurityContext.setAuthentication(originalAuth);
|
||||
SecurityContextHolder.getContext().setAuthentication(originalAuth);
|
||||
|
||||
// Setup our filter correctly
|
||||
Authentication remembered = new TestingAuthenticationToken("remembered",
|
||||
@@ -138,7 +139,8 @@ public class RememberMeProcessingFilterTests extends TestCase {
|
||||
request, new MockHttpServletResponse(), new MockFilterChain(true));
|
||||
|
||||
// Ensure filter didn't change our original object
|
||||
assertEquals(originalAuth, SecurityContext.getAuthentication());
|
||||
assertEquals(originalAuth,
|
||||
SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
public void testOperationWhenNoAuthenticationInContextHolder()
|
||||
@@ -155,20 +157,22 @@ public class RememberMeProcessingFilterTests extends TestCase {
|
||||
executeFilterInContainerSimulator(new MockFilterConfig(), filter,
|
||||
request, new MockHttpServletResponse(), new MockFilterChain(true));
|
||||
|
||||
Authentication auth = SecurityContext.getAuthentication();
|
||||
Authentication auth = SecurityContextHolder.getContext()
|
||||
.getAuthentication();
|
||||
|
||||
// Ensure filter setup with our remembered authentication object
|
||||
assertEquals(remembered, SecurityContext.getAuthentication());
|
||||
assertEquals(remembered,
|
||||
SecurityContextHolder.getContext().getAuthentication());
|
||||
}
|
||||
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown();
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.setContext(new SecurityContextImpl());
|
||||
}
|
||||
|
||||
private void executeFilterInContainerSimulator(FilterConfig filterConfig,
|
||||
|
||||
@@ -21,7 +21,7 @@ import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.AuthenticationManager;
|
||||
import net.sf.acegisecurity.BadCredentialsException;
|
||||
import net.sf.acegisecurity.MockAuthenticationManager;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.providers.x509.X509AuthenticationToken;
|
||||
import net.sf.acegisecurity.providers.x509.X509TestUtils;
|
||||
import net.sf.acegisecurity.ui.AbstractProcessingFilter;
|
||||
@@ -60,7 +60,7 @@ public class X509ProcessingFilterTests extends TestCase {
|
||||
}
|
||||
|
||||
public void tearDown() {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testAuthenticationIsNullWithNoCertificate()
|
||||
@@ -74,13 +74,13 @@ public class X509ProcessingFilterTests extends TestCase {
|
||||
|
||||
filter.setAuthenticationManager(authMgr);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
filter.doFilter(request, response, chain);
|
||||
|
||||
Object lastException = request.getSession().getAttribute(AbstractProcessingFilter.ACEGI_SECURITY_LAST_EXCEPTION_KEY);
|
||||
|
||||
assertNull("Authentication should be null",
|
||||
SecurityContext.getAuthentication());
|
||||
SecurityContextHolder.getContext().getAuthentication());
|
||||
assertTrue("BadCredentialsException should have been thrown",
|
||||
lastException instanceof BadCredentialsException);
|
||||
}
|
||||
@@ -123,7 +123,7 @@ public class X509ProcessingFilterTests extends TestCase {
|
||||
|
||||
AuthenticationManager authMgr = new MockAuthenticationManager(false);
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
|
||||
X509ProcessingFilter filter = new X509ProcessingFilter();
|
||||
|
||||
@@ -133,7 +133,8 @@ public class X509ProcessingFilterTests extends TestCase {
|
||||
filter.doFilter(request, response, chain);
|
||||
filter.destroy();
|
||||
|
||||
Authentication result = SecurityContext.getAuthentication();
|
||||
Authentication result = SecurityContextHolder.getContext()
|
||||
.getAuthentication();
|
||||
|
||||
assertNull(result);
|
||||
}
|
||||
@@ -159,7 +160,7 @@ public class X509ProcessingFilterTests extends TestCase {
|
||||
|
||||
AuthenticationManager authMgr = new MockX509AuthenticationManager();
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
|
||||
X509ProcessingFilter filter = new X509ProcessingFilter();
|
||||
|
||||
@@ -169,7 +170,8 @@ public class X509ProcessingFilterTests extends TestCase {
|
||||
filter.doFilter(request, response, chain);
|
||||
filter.destroy();
|
||||
|
||||
Authentication result = SecurityContext.getAuthentication();
|
||||
Authentication result = SecurityContextHolder.getContext()
|
||||
.getAuthentication();
|
||||
|
||||
assertNotNull(result);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ import junit.framework.TestCase;
|
||||
import net.sf.acegisecurity.Authentication;
|
||||
import net.sf.acegisecurity.GrantedAuthority;
|
||||
import net.sf.acegisecurity.GrantedAuthorityImpl;
|
||||
import net.sf.acegisecurity.context.SecurityContext;
|
||||
import net.sf.acegisecurity.context.SecurityContextHolder;
|
||||
import net.sf.acegisecurity.providers.TestingAuthenticationToken;
|
||||
import net.sf.acegisecurity.providers.dao.User;
|
||||
import net.sf.acegisecurity.wrapper.ContextHolderAwareRequestWrapper;
|
||||
@@ -60,7 +60,7 @@ public class ContextHolderAwareRequestWrapperTests extends TestCase {
|
||||
Authentication auth = new TestingAuthenticationToken("marissa",
|
||||
"koala",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_FOO")});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setRequestURI("/");
|
||||
@@ -72,7 +72,7 @@ public class ContextHolderAwareRequestWrapperTests extends TestCase {
|
||||
assertFalse(wrapper.isUserInRole("ROLE_NOT_GRANTED"));
|
||||
assertEquals(auth, wrapper.getUserPrincipal());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testCorrectOperationWithUserDetailsBasedPrincipal()
|
||||
@@ -82,7 +82,7 @@ public class ContextHolderAwareRequestWrapperTests extends TestCase {
|
||||
new GrantedAuthority[] {}), "koala",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_HELLO"), new GrantedAuthorityImpl(
|
||||
"ROLE_FOOBAR")});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setRequestURI("/");
|
||||
@@ -96,11 +96,11 @@ public class ContextHolderAwareRequestWrapperTests extends TestCase {
|
||||
assertTrue(wrapper.isUserInRole("ROLE_HELLO"));
|
||||
assertEquals(auth, wrapper.getUserPrincipal());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testNullAuthenticationHandling() throws Exception {
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setRequestURI("/");
|
||||
@@ -110,14 +110,14 @@ public class ContextHolderAwareRequestWrapperTests extends TestCase {
|
||||
assertFalse(wrapper.isUserInRole("ROLE_ANY"));
|
||||
assertNull(wrapper.getUserPrincipal());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
|
||||
public void testNullPrincipalHandling() throws Exception {
|
||||
Authentication auth = new TestingAuthenticationToken(null, "koala",
|
||||
new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_HELLO"), new GrantedAuthorityImpl(
|
||||
"ROLE_FOOBAR")});
|
||||
SecurityContext.setAuthentication(auth);
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setRequestURI("/");
|
||||
@@ -129,6 +129,6 @@ public class ContextHolderAwareRequestWrapperTests extends TestCase {
|
||||
assertFalse(wrapper.isUserInRole("ROLE_FOOBAR")); // principal is null, so reject
|
||||
assertNull(wrapper.getUserPrincipal());
|
||||
|
||||
SecurityContext.setAuthentication(null);
|
||||
SecurityContextHolder.getContext().setAuthentication(null);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user