From: Sanjay Dalal Date: Tue, 9 Feb 2010 22:32:22 +0000 (+0000) Subject: CSPACE-870 Integrated Spring Security 3.0.2.CI-SNAPSHOT and Spring 3.0.0.RELEASE... X-Git-Url: https://git.aero2k.de/?a=commitdiff_plain;h=d18d5bbe493f2c69c9121e55c8e548e20ba3dbac;p=tmp%2Fjakarta-migration.git CSPACE-870 Integrated Spring Security 3.0.2.CI-SNAPSHOT and Spring 3.0.0.RELEASE. The JAAS-based CS identity provider (CSIP) is configured successfully as a JAAS authn provider in Spring Security. Added Spring security specific AuthorityGranter and UserDetailsService (test) into authn service. Refactored DatabaseRealm and CSpaceJBossDBLoginModule (needs package change in login-config.xml of JBoss). ant deploy is required to copy the Spring specific jars to cspace/lib (of cspace domain). See services/common/lib/README.txt Spring security is enabled by default. Anonymous access is also enabled by default (allows all tests to run without HTTP basic auth). Security tests could be run with client side security enabled (no need to bounce the server) A services/authentication/service/src/main/java/org/collectionspace/authentication/realm A services/authentication/service/src/main/java/org/collectionspace/authentication/realm/CSpaceRealm.java A + services/authentication/service/src/main/java/org/collectionspace/authentication/realm/CSpaceDbRealm.java A services/authentication/service/src/main/java/org/collectionspace/authentication/spring A services/authentication/service/src/main/java/org/collectionspace/authentication/spring/CSpaceUserDetailsService.java A services/authentication/service/src/main/java/org/collectionspace/authentication/spring/CSpaceAuthorityGranter.java D services/authentication/service/src/main/java/org/collectionspace/authentication/CSpaceJBossDBLoginModule.java D services/authentication/service/src/main/java/org/collectionspace/authentication/DatabaseRealm.java A services/authentication/service/src/main/java/org/collectionspace/authentication/jaas A + services/authentication/service/src/main/java/org/collectionspace/authentication/jaas/CSpaceJBossDBLoginModule.java M services/authentication/service/src/main/resources/config/jboss-login-config.xml M services/authentication/service/pom.xml M services/authentication/service/build.xml M services/JaxRsServiceProvider/src/main/webapp/WEB-INF/web.xml A services/JaxRsServiceProvider/src/main/webapp/WEB-INF/login.conf A services/JaxRsServiceProvider/src/main/webapp/WEB-INF/applicationContext-security.xml M services/JaxRsServiceProvider/pom.xml M services/JaxRsServiceProvider/build.xml A services/common/lib/spring AM services/common/lib/spring/org.springframework.asm-3.0.0.BUILD-20100208195804.jar AM services/common/lib/spring/org.springframework.jdbc-3.0.0.BUILD-20100208195804.jar AM services/common/lib/spring/spring-security-web-3.0.2.CI-SNAPSHOT.jar AM services/common/lib/spring/org.springframework.context-3.0.0.BUILD-20100208195804.jar AM services/common/lib/spring/spring-security-acl-3.0.2.CI-SNAPSHOT.jar AM services/common/lib/spring/org.springframework.beans-3.0.0.BUILD-20100208195804.jar AM services/common/lib/spring/org.springframework.core-3.0.0.BUILD-20100208195804.jar AM services/common/lib/spring/spring-security-config-3.0.2.CI-SNAPSHOT.jar AM services/common/lib/spring/org.springframework.web-3.0.0.BUILD-20100208195804.jar AM services/common/lib/spring/spring-security-core-3.0.2.CI-SNAPSHOT.jar AM services/common/lib/spring/org.springframework.expression-3.0.0.BUILD-20100208195804.jar AM services/common/lib/spring/org.springframework.aop-3.0.0.BUILD-20100208195804.jar M services/common/lib/README.txt M services/common/build.xml --- diff --git a/services/JaxRsServiceProvider/build.xml b/services/JaxRsServiceProvider/build.xml index a96d191c5..5f804c64a 100644 --- a/services/JaxRsServiceProvider/build.xml +++ b/services/JaxRsServiceProvider/build.xml @@ -115,8 +115,8 @@ - - + + @@ -129,8 +129,8 @@ - - + + diff --git a/services/JaxRsServiceProvider/pom.xml b/services/JaxRsServiceProvider/pom.xml index f3c1cd753..11e164e06 100644 --- a/services/JaxRsServiceProvider/pom.xml +++ b/services/JaxRsServiceProvider/pom.xml @@ -1,21 +1,23 @@ - + org.collectionspace.services.main org.collectionspace.services 1.0 - + 4.0.0 org.collectionspace.services org.collectionspace.services.jaxrs.provider war 1.0 services.jaxrs.provider - - + + 3.0.0.RELEASE + 3.0.2.CI-SNAPSHOT + org.collectionspace.services @@ -130,6 +132,57 @@ 1.5.2 + + + + + org.springframework.security + spring-security-core + ${spring.security.version} + provided + + + org.springframework.security + spring-security-config + ${spring.security.version} + provided + + + org.springframework.security + spring-security-web + ${spring.security.version} + provided + + + org.springframework.security + spring-security-acl + ${spring.security.version} + provided + + + org.springframework + spring-context + ${spring.version} + provided + + + org.springframework + spring-web + ${spring.version} + provided + + + org.springframework + spring-webmvc + ${spring.version} + provided + + + org.springframework + spring-aop + ${spring.version} + provided + @@ -220,10 +273,11 @@ org.codehaus.cargo cargo-maven2-plugin + 0.3-SNAPSHOT - jboss42x + jboss4x ${jboss.dir} remote diff --git a/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/applicationContext-security.xml b/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/applicationContext-security.xml new file mode 100644 index 000000000..9570d1c97 --- /dev/null +++ b/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/applicationContext-security.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + cspace + + + /WEB-INF/login.conf + + + + + + + + + + + + + + + + + diff --git a/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/login.conf b/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/login.conf new file mode 100644 index 000000000..e69de29bb diff --git a/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/web.xml b/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/web.xml index 5660b37af..13b44e412 100644 --- a/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/web.xml +++ b/services/JaxRsServiceProvider/src/main/webapp/WEB-INF/web.xml @@ -21,7 +21,50 @@ / + + + contextConfigLocation + + /WEB-INF/applicationContext-security.xml + + + + + springSecurityFilterChain + org.springframework.web.filter.DelegatingFilterProxy + + + + springSecurityFilterChain + /* + + + + + + org.springframework.web.context.ContextLoaderListener + + + + + org.springframework.security.web.session.HttpSessionEventPublisher + + + + org.springframework.web.util.Log4jConfigListener + + org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap diff --git a/services/authentication/service/build.xml b/services/authentication/service/build.xml index 02ff80cee..596d5e4c5 100644 --- a/services/authentication/service/build.xml +++ b/services/authentication/service/build.xml @@ -3,7 +3,7 @@ collectionspace authentication service - + @@ -20,13 +20,13 @@ - + + description="Package CollectionSpace Services" /> @@ -51,7 +51,7 @@ + description="Install" /> @@ -74,9 +74,9 @@ - + + description="Delete target directories" > @@ -111,7 +111,7 @@ + description="deploy authentication service in ${jboss.server.cspace}"> @@ -121,14 +121,14 @@ + description="undeploy authentication service from ${jboss.server.cspace}"> - + + description="generate distribution for authentication service" depends="package"> diff --git a/services/authentication/service/pom.xml b/services/authentication/service/pom.xml index 4ee883511..15da9a5f0 100644 --- a/services/authentication/service/pom.xml +++ b/services/authentication/service/pom.xml @@ -16,6 +16,7 @@ 4.2.3.GA 3.0 UTF-8 + 3.0.2.CI-SNAPSHOT @@ -53,6 +54,14 @@ jbosssx 4.2.3.GA + + + org.springframework.security + spring-security-core + ${spring.security.version} + provided + + diff --git a/services/authentication/service/src/main/java/org/collectionspace/authentication/CSpaceJBossDBLoginModule.java b/services/authentication/service/src/main/java/org/collectionspace/authentication/jaas/CSpaceJBossDBLoginModule.java similarity index 93% rename from services/authentication/service/src/main/java/org/collectionspace/authentication/CSpaceJBossDBLoginModule.java rename to services/authentication/service/src/main/java/org/collectionspace/authentication/jaas/CSpaceJBossDBLoginModule.java index 884cbf2fd..80aee4ef9 100644 --- a/services/authentication/service/src/main/java/org/collectionspace/authentication/CSpaceJBossDBLoginModule.java +++ b/services/authentication/service/src/main/java/org/collectionspace/authentication/jaas/CSpaceJBossDBLoginModule.java @@ -21,7 +21,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.collectionspace.authentication; +package org.collectionspace.authentication.jaas; import java.security.acl.Group; import java.util.ArrayList; @@ -32,6 +32,7 @@ import java.util.Map; import javax.security.auth.Subject; import javax.security.auth.callback.CallbackHandler; import javax.security.auth.login.LoginException; +import org.collectionspace.authentication.realm.CSpaceDbRealm; import org.jboss.security.auth.spi.UsernamePasswordLoginModule; /** @@ -40,7 +41,7 @@ import org.jboss.security.auth.spi.UsernamePasswordLoginModule; */ public class CSpaceJBossDBLoginModule extends UsernamePasswordLoginModule { - private DatabaseRealm realm; + private CSpaceDbRealm realm; /** * Initialize CSpaceDBLoginModule @@ -58,7 +59,7 @@ public class CSpaceJBossDBLoginModule extends UsernamePasswordLoginModule { public void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options) { super.initialize(subject, callbackHandler, sharedState, options); - realm = new DatabaseRealm(options); + realm = new CSpaceDbRealm(options); } //disabled due to classloading problem // private Logger logger = LoggerFactory.getLogger(CSpaceDBLoginModule.class); diff --git a/services/authentication/service/src/main/java/org/collectionspace/authentication/DatabaseRealm.java b/services/authentication/service/src/main/java/org/collectionspace/authentication/realm/CSpaceDbRealm.java similarity index 95% rename from services/authentication/service/src/main/java/org/collectionspace/authentication/DatabaseRealm.java rename to services/authentication/service/src/main/java/org/collectionspace/authentication/realm/CSpaceDbRealm.java index 5d1f265a0..dc948e6d7 100644 --- a/services/authentication/service/src/main/java/org/collectionspace/authentication/DatabaseRealm.java +++ b/services/authentication/service/src/main/java/org/collectionspace/authentication/realm/CSpaceDbRealm.java @@ -47,7 +47,7 @@ * To change this template, choose Tools | Templates * and open the template in the editor. */ -package org.collectionspace.authentication; +package org.collectionspace.authentication.realm; import java.lang.reflect.Constructor; import java.security.Principal; @@ -67,14 +67,15 @@ import javax.sql.DataSource; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.collectionspace.authentication.CSpaceTenant; /** - * DatabaseRealm provides access to user, password, role, tenant database + * CSpaceDbRealm provides access to user, password, role, tenant database * @author */ -public class DatabaseRealm { +public class CSpaceDbRealm implements CSpaceRealm { - private static Log log = LogFactory.getLog(DatabaseRealm.class); + private static Log log = LogFactory.getLog(CSpaceDbRealm.class); private String datasourceName; private String principalsQuery; private String rolesQuery; @@ -82,10 +83,10 @@ public class DatabaseRealm { private boolean suspendResume; /** - * create DatabaseRelam + * CSpace Database Realm * @param datasourceName datasource name */ - public DatabaseRealm(Map options) { + public CSpaceDbRealm(Map options) { datasourceName = (String) options.get("dsJndiName"); if (datasourceName == null) { datasourceName = "java:/DefaultDS"; @@ -115,7 +116,8 @@ public class DatabaseRealm { } - String getUsersPassword(String username) throws LoginException { + @Override + public String getUsersPassword(String username) throws LoginException { String password = null; Connection conn = null; @@ -174,7 +176,8 @@ public class DatabaseRealm { * the authenticated user. * @return collection containing the roles */ - Collection getRoles(String username, String principalClassName, String groupClassName) throws LoginException { + @Override + public Collection getRoles(String username, String principalClassName, String groupClassName) throws LoginException { if (log.isDebugEnabled()) { log.debug("getRoleSets using rolesQuery: " + rolesQuery + ", username: " + username); @@ -279,7 +282,8 @@ public class DatabaseRealm { * the authenticated user. * @return collection containing the roles */ - Collection getTenants(String username, String groupClassName) throws LoginException { + @Override + public Collection getTenants(String username, String groupClassName) throws LoginException { if (log.isDebugEnabled()) { log.debug("getTenants using tenantsQuery: " + tenantsQuery + ", username: " + username); diff --git a/services/authentication/service/src/main/java/org/collectionspace/authentication/realm/CSpaceRealm.java b/services/authentication/service/src/main/java/org/collectionspace/authentication/realm/CSpaceRealm.java new file mode 100644 index 000000000..d635916ef --- /dev/null +++ b/services/authentication/service/src/main/java/org/collectionspace/authentication/realm/CSpaceRealm.java @@ -0,0 +1,60 @@ +/** + * This document is a part of the source code and related artifacts + * for CollectionSpace, an open source collections management system + * for museums and related institutions: + + * http://www.collectionspace.org + * http://wiki.collectionspace.org + + * Copyright 2009 University of California at Berkeley + + * Licensed under the Educational Community License (ECL), Version 2.0. + * You may not use this file except in compliance with this License. + + * You may obtain a copy of the ECL 2.0 License at + + * https://source.collectionspace.org/collection-space/LICENSE.txt + + * 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. + */ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.collectionspace.authentication.realm; + +import java.security.acl.Group; +import java.util.Collection; +import javax.security.auth.login.LoginException; + +/** + * CSpaceRealm defines interface for CollectionSpace Realm + */ +public interface CSpaceRealm { + + /** + * Obtain password for the given user + * @param username + * @return + * @throws LoginException + */ + public String getUsersPassword(String username) throws LoginException; + + /** + * Obtain the roles for the authenticated user. + * @return collection containing the roles + */ + public Collection getRoles(String username, String principalClassName, String groupClassName) throws LoginException; + + /** + * Obtain the tenants for the authenticated user. + * @return collection containing the roles + */ + public Collection getTenants(String username, String groupClassName) throws LoginException; + +} diff --git a/services/authentication/service/src/main/java/org/collectionspace/authentication/spring/CSpaceAuthorityGranter.java b/services/authentication/service/src/main/java/org/collectionspace/authentication/spring/CSpaceAuthorityGranter.java new file mode 100644 index 000000000..b228d1074 --- /dev/null +++ b/services/authentication/service/src/main/java/org/collectionspace/authentication/spring/CSpaceAuthorityGranter.java @@ -0,0 +1,69 @@ +/** + * This document is a part of the source code and related artifacts + * for CollectionSpace, an open source collections management system + * for museums and related institutions: + + * http://www.collectionspace.org + * http://wiki.collectionspace.org + + * Copyright 2009 University of California at Berkeley + + * Licensed under the Educational Community License (ECL), Version 2.0. + * You may not use this file except in compliance with this License. + + * You may obtain a copy of the ECL 2.0 License at + + * https://source.collectionspace.org/collection-space/LICENSE.txt + + * 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. + *//** + * This document is a part of the source code and related artifacts + * for CollectionSpace, an open source collections management system + * for museums and related institutions: + + * http://www.collectionspace.org + * http://wiki.collectionspace.org + + * Copyright 2009 University of California at Berkeley + + * Licensed under the Educational Community License (ECL), Version 2.0. + * You may not use this file except in compliance with this License. + + * You may obtain a copy of the ECL 2.0 License at + + * https://source.collectionspace.org/collection-space/LICENSE.txt + + * 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. + */ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package org.collectionspace.authentication.spring; +import java.security.Principal; +import java.util.HashSet; +import java.util.Set; +import org.springframework.security.authentication.jaas.AuthorityGranter; + +/** + * + * @author + */ +public class CSpaceAuthorityGranter implements AuthorityGranter { + + public Set grant(Principal principal) { + Set rtnSet = new HashSet(); + + + return rtnSet; + } +} diff --git a/services/authentication/service/src/main/java/org/collectionspace/authentication/spring/CSpaceUserDetailsService.java b/services/authentication/service/src/main/java/org/collectionspace/authentication/spring/CSpaceUserDetailsService.java new file mode 100644 index 000000000..92bf5c4ad --- /dev/null +++ b/services/authentication/service/src/main/java/org/collectionspace/authentication/spring/CSpaceUserDetailsService.java @@ -0,0 +1,89 @@ +/** + * This document is a part of the source code and related artifacts + * for CollectionSpace, an open source collections management system + * for museums and related institutions: + + * http://www.collectionspace.org + * http://wiki.collectionspace.org + + * Copyright 2009 University of California at Berkeley + + * Licensed under the Educational Community License (ECL), Version 2.0. + * You may not use this file except in compliance with this License. + + * You may obtain a copy of the ECL 2.0 License at + + * https://source.collectionspace.org/collection-space/LICENSE.txt + + * 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. + *//** + * This document is a part of the source code and related artifacts + * for CollectionSpace, an open source collections management system + * for museums and related institutions: + + * http://www.collectionspace.org + * http://wiki.collectionspace.org + + * Copyright 2009 University of California at Berkeley + + * Licensed under the Educational Community License (ECL), Version 2.0. + * You may not use this file except in compliance with this License. + + * You may obtain a copy of the ECL 2.0 License at + + * https://source.collectionspace.org/collection-space/LICENSE.txt + + * 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. + */ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package org.collectionspace.authentication.spring; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.springframework.dao.DataAccessException; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.AuthorityUtils; +import org.springframework.security.core.userdetails.User; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; + +/** + * A CollectionSpace UserDetailsService for spring + */ +//FIXME remove test/mockup code +public class CSpaceUserDetailsService implements UserDetailsService { + + private Map users = new HashMap(); + private List auths = AuthorityUtils.createAuthorityList("ROLE_USER"); + + public CSpaceUserDetailsService() { + users.put("test", new User("test", "", true, true, true, true, auths)); + users.put("valid", new User("valid", "", true, true, true, true, auths)); + users.put("locked", new User("locked", "", true, true, true, false, auths)); + users.put("disabled", new User("disabled", "", false, true, true, true, auths)); + users.put("credentialsExpired", new User("credentialsExpired", "", true, true, false, true, auths)); + users.put("expired", new User("expired", "", true, false, true, true, auths)); + } + + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException, DataAccessException { + if (users.get(username) == null) { + throw new UsernameNotFoundException("User not found: " + username); + } + + return users.get(username); + } +} diff --git a/services/authentication/service/src/main/resources/config/jboss-login-config.xml b/services/authentication/service/src/main/resources/config/jboss-login-config.xml index e5b0f7b81..afcc12948 100644 --- a/services/authentication/service/src/main/resources/config/jboss-login-config.xml +++ b/services/authentication/service/src/main/resources/config/jboss-login-config.xml @@ -18,7 +18,7 @@ copy before the "other" application-policy - CspaceDS SHA-256 diff --git a/services/common/build.xml b/services/common/build.xml index 3a725fdfa..5c96bed25 100644 --- a/services/common/build.xml +++ b/services/common/build.xml @@ -3,7 +3,7 @@ collectionspace services common - + @@ -20,12 +20,12 @@ - + + description="Package CollectionSpace Services" /> @@ -50,7 +50,7 @@ + description="Install" /> @@ -73,9 +73,9 @@ - + + description="Delete target directories" > @@ -109,9 +109,9 @@ - - + + @@ -123,20 +123,45 @@ + + + + + + + description="deploy common elements in ${jboss.server.cspace}"> + + + description="undeploy common elements from ${jboss.server.cspace}"> + + + + + + + + + + + + + description="generate distribution for common elements" depends="package"> + + diff --git a/services/common/lib/README.txt b/services/common/lib/README.txt index 6df592750..424649fd9 100644 --- a/services/common/lib/README.txt +++ b/services/common/lib/README.txt @@ -1,6 +1,11 @@ This lib directory contains binaries required to run the common layer -in JBoss container. Corresponding binaries (if present) in JBoss domain are +in JBoss container. Corresponding binaries (if present) in JBoss cspace domain are either upgraded/replaced with a one-time execution task. For jpa upgrade in mercury 0.4, the task is 'ant jpa' executed at -service/common level. +service/common level. From 0.5 the following tasks are added. + +ant deploy_jpa (replaces jpa task, deploys jpa jars to JBoss cspace domain) +ant dist_jpa (copies required jpa jars to dist) +ant deploy_spring (deploys spring framework and spring security jars to JBoss cspace domain) +ant dist_spring (copies required spring framework and security jars to dist) diff --git a/services/common/lib/spring/org.springframework.aop-3.0.0.BUILD-20100208195804.jar b/services/common/lib/spring/org.springframework.aop-3.0.0.BUILD-20100208195804.jar new file mode 100644 index 000000000..d7da1ca9a Binary files /dev/null and b/services/common/lib/spring/org.springframework.aop-3.0.0.BUILD-20100208195804.jar differ diff --git a/services/common/lib/spring/org.springframework.asm-3.0.0.BUILD-20100208195804.jar b/services/common/lib/spring/org.springframework.asm-3.0.0.BUILD-20100208195804.jar new file mode 100644 index 000000000..1875d69b4 Binary files /dev/null and b/services/common/lib/spring/org.springframework.asm-3.0.0.BUILD-20100208195804.jar differ diff --git a/services/common/lib/spring/org.springframework.beans-3.0.0.BUILD-20100208195804.jar b/services/common/lib/spring/org.springframework.beans-3.0.0.BUILD-20100208195804.jar new file mode 100644 index 000000000..d260aff32 Binary files /dev/null and b/services/common/lib/spring/org.springframework.beans-3.0.0.BUILD-20100208195804.jar differ diff --git a/services/common/lib/spring/org.springframework.context-3.0.0.BUILD-20100208195804.jar b/services/common/lib/spring/org.springframework.context-3.0.0.BUILD-20100208195804.jar new file mode 100644 index 000000000..eb86d8a01 Binary files /dev/null and b/services/common/lib/spring/org.springframework.context-3.0.0.BUILD-20100208195804.jar differ diff --git a/services/common/lib/spring/org.springframework.core-3.0.0.BUILD-20100208195804.jar b/services/common/lib/spring/org.springframework.core-3.0.0.BUILD-20100208195804.jar new file mode 100644 index 000000000..9c32f0d2e Binary files /dev/null and b/services/common/lib/spring/org.springframework.core-3.0.0.BUILD-20100208195804.jar differ diff --git a/services/common/lib/spring/org.springframework.expression-3.0.0.BUILD-20100208195804.jar b/services/common/lib/spring/org.springframework.expression-3.0.0.BUILD-20100208195804.jar new file mode 100644 index 000000000..091bca27d Binary files /dev/null and b/services/common/lib/spring/org.springframework.expression-3.0.0.BUILD-20100208195804.jar differ diff --git a/services/common/lib/spring/org.springframework.jdbc-3.0.0.BUILD-20100208195804.jar b/services/common/lib/spring/org.springframework.jdbc-3.0.0.BUILD-20100208195804.jar new file mode 100644 index 000000000..bf7b8689e Binary files /dev/null and b/services/common/lib/spring/org.springframework.jdbc-3.0.0.BUILD-20100208195804.jar differ diff --git a/services/common/lib/spring/org.springframework.web-3.0.0.BUILD-20100208195804.jar b/services/common/lib/spring/org.springframework.web-3.0.0.BUILD-20100208195804.jar new file mode 100644 index 000000000..8e476b176 Binary files /dev/null and b/services/common/lib/spring/org.springframework.web-3.0.0.BUILD-20100208195804.jar differ diff --git a/services/common/lib/spring/spring-security-acl-3.0.2.CI-SNAPSHOT.jar b/services/common/lib/spring/spring-security-acl-3.0.2.CI-SNAPSHOT.jar new file mode 100644 index 000000000..1e0381792 Binary files /dev/null and b/services/common/lib/spring/spring-security-acl-3.0.2.CI-SNAPSHOT.jar differ diff --git a/services/common/lib/spring/spring-security-config-3.0.2.CI-SNAPSHOT.jar b/services/common/lib/spring/spring-security-config-3.0.2.CI-SNAPSHOT.jar new file mode 100644 index 000000000..7f945957a Binary files /dev/null and b/services/common/lib/spring/spring-security-config-3.0.2.CI-SNAPSHOT.jar differ diff --git a/services/common/lib/spring/spring-security-core-3.0.2.CI-SNAPSHOT.jar b/services/common/lib/spring/spring-security-core-3.0.2.CI-SNAPSHOT.jar new file mode 100644 index 000000000..6367a824a Binary files /dev/null and b/services/common/lib/spring/spring-security-core-3.0.2.CI-SNAPSHOT.jar differ diff --git a/services/common/lib/spring/spring-security-web-3.0.2.CI-SNAPSHOT.jar b/services/common/lib/spring/spring-security-web-3.0.2.CI-SNAPSHOT.jar new file mode 100644 index 000000000..aede9ebb4 Binary files /dev/null and b/services/common/lib/spring/spring-security-web-3.0.2.CI-SNAPSHOT.jar differ