1
0
mirror of synced 2026-05-22 21:33:16 +00:00

SEC-1257: APIs using List<ConfigAttribute> should use a Collection instead. Converted.

This commit is contained in:
Luke Taylor
2009-10-06 19:46:44 +00:00
parent 5d486a51b6
commit f213cc5d9e
53 changed files with 181 additions and 175 deletions
@@ -20,8 +20,8 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.security.Principal;
import java.util.Collection;
import java.util.Enumeration;
import java.util.List;
import java.util.Locale;
import java.util.Map;
@@ -120,7 +120,7 @@ public class DefaultWebInvocationPrivilegeEvaluator implements WebInvocationPriv
}
FilterInvocation fi = createFilterInvocation(contextPath, uri, method);
List<ConfigAttribute> attrs = securityInterceptor.obtainSecurityMetadataSource().getAttributes(fi);
Collection<ConfigAttribute> attrs = securityInterceptor.obtainSecurityMetadataSource().getAttributes(fi);
if (attrs == null) {
if (securityInterceptor.isRejectPublicInvocations()) {
@@ -19,7 +19,7 @@ import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.web.FilterInvocation;
import java.io.IOException;
import java.util.List;
import java.util.Collection;
import javax.servlet.ServletException;
@@ -38,7 +38,7 @@ public interface ChannelDecisionManager {
* security based on the requested list of <tt>ConfigAttribute</tt>s.
*
*/
void decide(FilterInvocation invocation, List<ConfigAttribute> config) throws IOException, ServletException;
void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, ServletException;
/**
* Indicates whether this <code>ChannelDecisionManager</code> is able to process the passed
@@ -25,6 +25,7 @@ import org.springframework.util.Assert;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -61,7 +62,7 @@ public class ChannelDecisionManagerImpl implements ChannelDecisionManager, Initi
Assert.notEmpty(channelProcessors, "A list of ChannelProcessors is required");
}
public void decide(FilterInvocation invocation, List<ConfigAttribute> config) throws IOException, ServletException {
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, ServletException {
Iterator<ConfigAttribute> attrs = config.iterator();
@@ -18,7 +18,6 @@ package org.springframework.security.web.access.channel;
import java.io.IOException;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.servlet.FilterChain;
@@ -94,7 +93,7 @@ public class ChannelProcessingFilter extends GenericFilterBean {
HttpServletResponse response = (HttpServletResponse) res;
FilterInvocation fi = new FilterInvocation(request, response, chain);
List<ConfigAttribute> attr = this.securityMetadataSource.getAttributes(fi);
Collection<ConfigAttribute> attr = this.securityMetadataSource.getAttributes(fi);
if (attr != null) {
if (logger.isDebugEnabled()) {
@@ -19,7 +19,7 @@ import org.springframework.security.access.ConfigAttribute;
import org.springframework.security.web.FilterInvocation;
import java.io.IOException;
import java.util.List;
import java.util.Collection;
import javax.servlet.ServletException;
@@ -44,7 +44,7 @@ public interface ChannelProcessor {
* security based on the requested list of <tt>ConfigAttribute</tt>s.
*
*/
void decide(FilterInvocation invocation, List<ConfigAttribute> config) throws IOException, ServletException;
void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, ServletException;
/**
* Indicates whether this <code>ChannelProcessor</code> is able to process the passed
@@ -16,7 +16,7 @@
package org.springframework.security.web.access.channel;
import java.io.IOException;
import java.util.List;
import java.util.Collection;
import javax.servlet.ServletException;
@@ -52,7 +52,7 @@ public class InsecureChannelProcessor implements InitializingBean, ChannelProces
Assert.notNull(entryPoint, "entryPoint required");
}
public void decide(FilterInvocation invocation, List<ConfigAttribute> config) throws IOException, ServletException {
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, ServletException {
if ((invocation == null) || (config == null)) {
throw new IllegalArgumentException("Nulls cannot be provided");
}
@@ -16,7 +16,7 @@
package org.springframework.security.web.access.channel;
import java.io.IOException;
import java.util.List;
import java.util.Collection;
import javax.servlet.ServletException;
@@ -52,7 +52,7 @@ public class SecureChannelProcessor implements InitializingBean, ChannelProcesso
Assert.notNull(entryPoint, "entryPoint required");
}
public void decide(FilterInvocation invocation, List<ConfigAttribute> config) throws IOException, ServletException {
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config) throws IOException, ServletException {
Assert.isTrue((invocation != null) && (config != null), "Nulls cannot be provided");
for (ConfigAttribute attribute : config) {
@@ -1,6 +1,6 @@
package org.springframework.security.web.access.expression;
import java.util.List;
import java.util.Collection;
import org.springframework.expression.EvaluationContext;
import org.springframework.security.access.AccessDecisionVoter;
@@ -18,7 +18,7 @@ import org.springframework.security.web.FilterInvocation;
public class WebExpressionVoter implements AccessDecisionVoter {
private WebSecurityExpressionHandler expressionHandler = new DefaultWebSecurityExpressionHandler();
public int vote(Authentication authentication, Object object, List<ConfigAttribute> attributes) {
public int vote(Authentication authentication, Object object, Collection<ConfigAttribute> attributes) {
assert authentication != null;
assert object != null;
assert attributes != null;
@@ -36,7 +36,7 @@ public class WebExpressionVoter implements AccessDecisionVoter {
ACCESS_GRANTED : ACCESS_DENIED;
}
private WebExpressionConfigAttribute findConfigAttribute(List<ConfigAttribute> attributes) {
private WebExpressionConfigAttribute findConfigAttribute(Collection<ConfigAttribute> attributes) {
for (ConfigAttribute attribute : attributes) {
if (attribute instanceof WebExpressionConfigAttribute) {
return (WebExpressionConfigAttribute)attribute;
@@ -138,7 +138,7 @@ public class DefaultFilterInvocationSecurityMetadataSource implements FilterInvo
}
public List<ConfigAttribute> getAttributes(Object object) {
public Collection<ConfigAttribute> getAttributes(Object object) {
if ((object == null) || !this.supports(object.getClass())) {
throw new IllegalArgumentException("Object must be a FilterInvocation");
}
@@ -18,6 +18,7 @@ package org.springframework.security.web.access.channel;
import static org.mockito.Mockito.mock;
import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
@@ -188,7 +189,7 @@ public class ChannelDecisionManagerImplTests extends TestCase {
this.failIfCalled = failIfCalled;
}
public void decide(FilterInvocation invocation, List<ConfigAttribute> config)
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config)
throws IOException, ServletException {
Iterator iter = config.iterator();
@@ -163,7 +163,7 @@ public class ChannelProcessingFilterTests {
this.supportAttribute = supportAttribute;
}
public void decide(FilterInvocation invocation, List<ConfigAttribute> config)
public void decide(FilterInvocation invocation, Collection<ConfigAttribute> config)
throws IOException, ServletException {
if (commitAResponse) {
invocation.getHttpResponse().sendRedirect("/redirected");
@@ -18,6 +18,7 @@ package org.springframework.security.web.access.intercept;
import static org.junit.Assert.*;
import static org.mockito.Mockito.mock;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.List;
@@ -130,7 +131,7 @@ public class DefaultFilterInvocationSecurityMetadataSourceTests {
createFids("/somepage**", "GET");
FilterInvocation fi = createFilterInvocation("/somepage", "GET");
List<? extends ConfigAttribute> attrs = fids.getAttributes(fi);
Collection<ConfigAttribute> attrs = fids.getAttributes(fi);
assertEquals(def, attrs);
}
@@ -139,7 +140,7 @@ public class DefaultFilterInvocationSecurityMetadataSourceTests {
createFids("/somepage**", null);
FilterInvocation fi = createFilterInvocation("/somepage", "GET");
List<? extends ConfigAttribute> attrs = fids.getAttributes(fi);
Collection<ConfigAttribute> attrs = fids.getAttributes(fi);
assertEquals(def, attrs);
}
@@ -148,7 +149,7 @@ public class DefaultFilterInvocationSecurityMetadataSourceTests {
createFids("/somepage**", "GET");
FilterInvocation fi = createFilterInvocation("/somepage", null);
List<? extends ConfigAttribute> attrs = fids.getAttributes(fi);
Collection<ConfigAttribute> attrs = fids.getAttributes(fi);
assertNull(attrs);
}
@@ -161,7 +162,7 @@ public class DefaultFilterInvocationSecurityMetadataSourceTests {
requestMap.put(new RequestKey("/somepage**", "POST"), postOnlyDef);
fids = new DefaultFilterInvocationSecurityMetadataSource(new AntUrlPathMatcher(), requestMap);
List<ConfigAttribute> attrs = fids.getAttributes(createFilterInvocation("/somepage", "POST"));
Collection<ConfigAttribute> attrs = fids.getAttributes(createFilterInvocation("/somepage", "POST"));
assertEquals(postOnlyDef, attrs);
}
@@ -176,7 +177,7 @@ public class DefaultFilterInvocationSecurityMetadataSourceTests {
fids.setStripQueryStringFromUrls(true);
FilterInvocation fi = createFilterInvocation("/user", "GET");
List<ConfigAttribute> attrs = fids.getAttributes(fi);
Collection<ConfigAttribute> attrs = fids.getAttributes(fi);
assertEquals(userAttrs, attrs);
}