Tidying
This commit is contained in:
+1
-2
@@ -53,8 +53,7 @@ public class ExpressionBasedPreInvocationAdvice implements PreInvocationAuthoriz
|
||||
}
|
||||
} else if (mi.getArguments().length == 1) {
|
||||
Object arg = mi.getArguments()[0];
|
||||
if (arg.getClass().isArray() ||
|
||||
arg instanceof Collection) {
|
||||
if (arg.getClass().isArray() || arg instanceof Collection<?>) {
|
||||
filterTarget = arg;
|
||||
}
|
||||
if (filterTarget == null) {
|
||||
|
||||
+1
-1
@@ -107,7 +107,7 @@ public class MapBasedAttributes2GrantedAuthoritiesMapper implements Attributes2G
|
||||
if ( value == null ) {
|
||||
return;
|
||||
}
|
||||
if ( value instanceof Collection ) {
|
||||
if ( value instanceof Collection<?> ) {
|
||||
addGrantedAuthorityCollection(result,(Collection<?>)value);
|
||||
} else if ( value instanceof Object[] ) {
|
||||
addGrantedAuthorityCollection(result,(Object[])value);
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||
<!--
|
||||
* Copyright 2004 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.
|
||||
*
|
||||
*
|
||||
* $Id$
|
||||
-->
|
||||
|
||||
<beans>
|
||||
|
||||
<!-- Data access object which stores authentication information -->
|
||||
<bean id="inMemoryDaoImpl" class="org.springframework.security.core.userdetails.memory.InMemoryDaoImpl">
|
||||
<property name="userMap">
|
||||
<value>
|
||||
rod=koala,ROLE_TELLER,ROLE_SUPERVISOR
|
||||
dianne=emu,ROLE_TELLER
|
||||
scott=wombat,ROLE_TELLER
|
||||
peter=opal,disabled,ROLE_TELLER
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Authentication provider that queries our data access object -->
|
||||
<bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
|
||||
<property name="userDetailsService"><ref bean="inMemoryDaoImpl"/></property>
|
||||
<property name="forcePrincipalAsString"><value>true</value></property>
|
||||
</bean>
|
||||
|
||||
<!-- The authentication manager that iterates through our only authentication provider -->
|
||||
<bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager">
|
||||
<property name="providers">
|
||||
<list>
|
||||
<ref bean="daoAuthenticationProvider"/>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
@@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||
<!--
|
||||
* Copyright 2004 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.
|
||||
*
|
||||
*
|
||||
* $Id$
|
||||
-->
|
||||
|
||||
<beans>
|
||||
|
||||
<!-- Data access object which stores authentication information -->
|
||||
<bean id="inMemoryDaoImpl" class="org.springframework.security.core.userdetails.memory.InMemoryDaoImpl">
|
||||
<property name="userMap">
|
||||
<value>
|
||||
rod=koala,ROLE_TELLER,ROLE_SUPERVISOR
|
||||
dianne=emu,ROLE_TELLER
|
||||
scott=wombat,ROLE_TELLER
|
||||
peter=opal,disabled,ROLE_TELLER
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- The authentication manager is deliberately missing in order to test error detection -->
|
||||
|
||||
</beans>
|
||||
@@ -1,51 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
|
||||
<!--
|
||||
* Copyright 2004 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.
|
||||
*
|
||||
*
|
||||
* $Id$
|
||||
-->
|
||||
|
||||
<beans>
|
||||
|
||||
<!-- Data access object which stores authentication information -->
|
||||
<bean id="inMemoryDaoImpl" class="org.springframework.security.core.userdetails.memory.InMemoryDaoImpl">
|
||||
<property name="userMap">
|
||||
<value>
|
||||
rod=koala,ROLE_TELLER,ROLE_SUPERVISOR
|
||||
dianne=emu,ROLE_TELLER
|
||||
scott=wombat,ROLE_TELLER
|
||||
peter=opal,disabled,ROLE_TELLER
|
||||
</value>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
<!-- Authentication provider that queries our data access object -->
|
||||
<bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
|
||||
<property name="userDetailsService"><ref bean="inMemoryDaoImpl"/></property>
|
||||
<property name="forcePrincipalAsString"><value>true</value></property>
|
||||
</bean>
|
||||
|
||||
<!-- The authentication manager that iterates through our only authentication provider -->
|
||||
<bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager">
|
||||
<property name="providers">
|
||||
<list>
|
||||
<ref bean="daoAuthenticationProvider"/>
|
||||
</list>
|
||||
</property>
|
||||
</bean>
|
||||
|
||||
</beans>
|
||||
+5
-5
@@ -83,19 +83,19 @@ public class TestHelperTests {
|
||||
authoritiesStrings5.add("ROLE_A");
|
||||
|
||||
assertTrue(CollectionUtils.isEqualCollection(
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities1), authoritiesStrings1));
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities1), authoritiesStrings1));
|
||||
|
||||
assertTrue(CollectionUtils.isEqualCollection(
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities2), authoritiesStrings2));
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities2), authoritiesStrings2));
|
||||
|
||||
assertTrue(CollectionUtils.isEqualCollection(
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities3), authoritiesStrings3));
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities3), authoritiesStrings3));
|
||||
|
||||
assertTrue(CollectionUtils.isEqualCollection(
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities4), authoritiesStrings4));
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities4), authoritiesStrings4));
|
||||
|
||||
assertTrue(CollectionUtils.isEqualCollection(
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities5), authoritiesStrings5));
|
||||
HierarchicalRolesTestHelper.toCollectionOfAuthorityStrings(authorities5), authoritiesStrings5));
|
||||
}
|
||||
|
||||
// SEC-863
|
||||
|
||||
+1
@@ -47,6 +47,7 @@ public class MapBasedMethodSecurityMetadataSourceTests {
|
||||
assertEquals(ROLE_B, mds.getAttributes(someMethodString, MockService.class));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private class MockService {
|
||||
public void someMethod(String s) {
|
||||
}
|
||||
|
||||
@@ -60,6 +60,7 @@ public class AbstractAclVoterTests {
|
||||
assertEquals("The Argument", voter.getDomainObjectInstance(mi));
|
||||
}
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private static class TestClass {
|
||||
public void methodTakingAString(String arg) {
|
||||
}
|
||||
|
||||
-4
@@ -89,10 +89,6 @@ public class GrantedAuthorityImplTests {
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
public int compareTo(GrantedAuthority o) {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public String getAuthority() {
|
||||
return this.role;
|
||||
}
|
||||
|
||||
+79
-79
@@ -30,91 +30,91 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @author Mike Wiesner
|
||||
* @since 3.0
|
||||
* @version $Id$
|
||||
*/
|
||||
public class JndiDnsResolverTest {
|
||||
|
||||
private JndiDnsResolver dnsResolver;
|
||||
private InitialContextFactory contextFactory;
|
||||
private DirContext context;
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
contextFactory = mock(InitialContextFactory.class);
|
||||
context = mock(DirContext.class);
|
||||
dnsResolver = new JndiDnsResolver();
|
||||
dnsResolver.setCtxFactory(contextFactory);
|
||||
when(contextFactory.getCtx()).thenReturn(context);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResolveIpAddress() throws Exception {
|
||||
Attributes records = new BasicAttributes("A","63.246.7.80");
|
||||
|
||||
when(context.getAttributes("www.springsource.com", new String[] {"A"})).thenReturn(records);
|
||||
|
||||
String ipAddress = dnsResolver.resolveIpAddress("www.springsource.com");
|
||||
assertEquals("63.246.7.80", ipAddress);
|
||||
}
|
||||
|
||||
@Test(expected=DnsEntryNotFoundException.class)
|
||||
public void testResolveIpAddressNotExisting() throws Exception {
|
||||
when(context.getAttributes(any(String.class), any(String[].class))).thenThrow(new NameNotFoundException("not found"));
|
||||
|
||||
dnsResolver.resolveIpAddress("notexisting.ansdansdugiuzgguzgioansdiandwq.foo");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResolveServiceEntry() throws Exception {
|
||||
BasicAttributes records = createSrvRecords();
|
||||
|
||||
when(context.getAttributes("_ldap._tcp.springsource.com", new String[] {"SRV"})).thenReturn(records);
|
||||
|
||||
String hostname = dnsResolver.resolveServiceEntry("ldap", "springsource.com");
|
||||
assertEquals("kdc.springsource.com", hostname);
|
||||
}
|
||||
|
||||
|
||||
@Test(expected=DnsEntryNotFoundException.class)
|
||||
public void testResolveServiceEntryNotExisting() throws Exception {
|
||||
when(context.getAttributes(any(String.class), any(String[].class))).thenThrow(new NameNotFoundException("not found"));
|
||||
|
||||
dnsResolver.resolveServiceEntry("wrong", "secpod.de");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResolveServiceIpAddress() throws Exception {
|
||||
BasicAttributes srvRecords = createSrvRecords();
|
||||
BasicAttributes aRecords = new BasicAttributes("A", "63.246.7.80");
|
||||
when(context.getAttributes("_ldap._tcp.springsource.com", new String[] {"SRV"})).thenReturn(srvRecords);
|
||||
when(context.getAttributes("kdc.springsource.com", new String[] {"A"})).thenReturn(aRecords);
|
||||
|
||||
String ipAddress = dnsResolver.resolveServiceIpAddress("ldap", "springsource.com");
|
||||
assertEquals("63.246.7.80", ipAddress);
|
||||
}
|
||||
|
||||
@Test(expected=DnsLookupException.class)
|
||||
public void testUnknowError() throws Exception {
|
||||
when(context.getAttributes(any(String.class), any(String[].class))).thenThrow(new NamingException("error"));
|
||||
dnsResolver.resolveIpAddress("");
|
||||
}
|
||||
private JndiDnsResolver dnsResolver;
|
||||
private InitialContextFactory contextFactory;
|
||||
private DirContext context;
|
||||
|
||||
|
||||
@Before
|
||||
public void setup() {
|
||||
contextFactory = mock(InitialContextFactory.class);
|
||||
context = mock(DirContext.class);
|
||||
dnsResolver = new JndiDnsResolver();
|
||||
dnsResolver.setCtxFactory(contextFactory);
|
||||
when(contextFactory.getCtx()).thenReturn(context);
|
||||
}
|
||||
|
||||
private BasicAttributes createSrvRecords() {
|
||||
BasicAttributes records = new BasicAttributes();
|
||||
BasicAttribute record = new BasicAttribute("SRV");
|
||||
// the structure of the service records is:
|
||||
// priority weight port hostname
|
||||
// for more information: http://en.wikipedia.org/wiki/SRV_record
|
||||
record.add("20 80 389 kdc3.springsource.com.");
|
||||
record.add("10 70 389 kdc.springsource.com.");
|
||||
record.add("20 20 389 kdc4.springsource.com.");
|
||||
record.add("10 30 389 kdc2.springsource.com");
|
||||
records.put(record);
|
||||
return records;
|
||||
}
|
||||
@Test
|
||||
public void testResolveIpAddress() throws Exception {
|
||||
Attributes records = new BasicAttributes("A","63.246.7.80");
|
||||
|
||||
when(context.getAttributes("www.springsource.com", new String[] {"A"})).thenReturn(records);
|
||||
|
||||
String ipAddress = dnsResolver.resolveIpAddress("www.springsource.com");
|
||||
assertEquals("63.246.7.80", ipAddress);
|
||||
}
|
||||
|
||||
@Test(expected=DnsEntryNotFoundException.class)
|
||||
public void testResolveIpAddressNotExisting() throws Exception {
|
||||
when(context.getAttributes(any(String.class), any(String[].class))).thenThrow(new NameNotFoundException("not found"));
|
||||
|
||||
dnsResolver.resolveIpAddress("notexisting.ansdansdugiuzgguzgioansdiandwq.foo");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResolveServiceEntry() throws Exception {
|
||||
BasicAttributes records = createSrvRecords();
|
||||
|
||||
when(context.getAttributes("_ldap._tcp.springsource.com", new String[] {"SRV"})).thenReturn(records);
|
||||
|
||||
String hostname = dnsResolver.resolveServiceEntry("ldap", "springsource.com");
|
||||
assertEquals("kdc.springsource.com", hostname);
|
||||
}
|
||||
|
||||
|
||||
@Test(expected=DnsEntryNotFoundException.class)
|
||||
public void testResolveServiceEntryNotExisting() throws Exception {
|
||||
when(context.getAttributes(any(String.class), any(String[].class))).thenThrow(new NameNotFoundException("not found"));
|
||||
|
||||
dnsResolver.resolveServiceEntry("wrong", "secpod.de");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testResolveServiceIpAddress() throws Exception {
|
||||
BasicAttributes srvRecords = createSrvRecords();
|
||||
BasicAttributes aRecords = new BasicAttributes("A", "63.246.7.80");
|
||||
when(context.getAttributes("_ldap._tcp.springsource.com", new String[] {"SRV"})).thenReturn(srvRecords);
|
||||
when(context.getAttributes("kdc.springsource.com", new String[] {"A"})).thenReturn(aRecords);
|
||||
|
||||
String ipAddress = dnsResolver.resolveServiceIpAddress("ldap", "springsource.com");
|
||||
assertEquals("63.246.7.80", ipAddress);
|
||||
}
|
||||
|
||||
@Test(expected=DnsLookupException.class)
|
||||
public void testUnknowError() throws Exception {
|
||||
when(context.getAttributes(any(String.class), any(String[].class))).thenThrow(new NamingException("error"));
|
||||
dnsResolver.resolveIpAddress("");
|
||||
}
|
||||
|
||||
|
||||
|
||||
private BasicAttributes createSrvRecords() {
|
||||
BasicAttributes records = new BasicAttributes();
|
||||
BasicAttribute record = new BasicAttribute("SRV");
|
||||
// the structure of the service records is:
|
||||
// priority weight port hostname
|
||||
// for more information: http://en.wikipedia.org/wiki/SRV_record
|
||||
record.add("20 80 389 kdc3.springsource.com.");
|
||||
record.add("10 70 389 kdc.springsource.com.");
|
||||
record.add("20 20 389 kdc4.springsource.com.");
|
||||
record.add("10 30 389 kdc2.springsource.com");
|
||||
records.put(record);
|
||||
return records;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user