Procházet zdrojové kódy

Improved sample applications' bean reference notation.

Ben Alex před 21 roky
rodič
revize
6b54784915

+ 1 - 0
changelog.txt

@@ -7,6 +7,7 @@ Changes in version 0.x (2004-xx-xx)
 * Added PasswordAuthenticationProvider for password-validating DAOs (eg LDAP)
 * Added PasswordAuthenticationProvider for password-validating DAOs (eg LDAP)
 * Added FilterToBeanProxy compatibility with ContextLoaderServlet (lazy inits)
 * Added FilterToBeanProxy compatibility with ContextLoaderServlet (lazy inits)
 * Added convenience methods to ConfigAttributeDefinition
 * Added convenience methods to ConfigAttributeDefinition
+* Improved sample applications' bean reference notation
 * Clarified contract for ObjectDefinitionSource.getAttributes(Object)
 * Clarified contract for ObjectDefinitionSource.getAttributes(Object)
 * Extracted removeUserFromCache(String) to UserCache interface
 * Extracted removeUserFromCache(String) to UserCache interface
 * Improved ConfigAttributeEditor so it trims preceding and trailing spaces
 * Improved ConfigAttributeEditor so it trims preceding and trailing spaces

+ 7 - 7
samples/attributes/src/applicationContext.xml

@@ -37,7 +37,7 @@
 	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
 	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
 		<property name="providers">
 		<property name="providers">
 		  <list>
 		  <list>
-		    <ref bean="testingAuthenticationProvider"/>
+		    <ref local="testingAuthenticationProvider"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
@@ -52,7 +52,7 @@
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
 		<property name="decisionVoters">
 		<property name="decisionVoters">
 		  <list>
 		  <list>
-		    <ref bean="roleVoter"/>
+		    <ref local="roleVoter"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
@@ -67,10 +67,10 @@
 	<!-- We don't validate config attributes, as it's unsupported by MethodDefinitionAttributes -->
 	<!-- We don't validate config attributes, as it's unsupported by MethodDefinitionAttributes -->
 	<bean id="securityInterceptor" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
 	<bean id="securityInterceptor" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
     	<property name="validateConfigAttributes"><value>false</value></property>
     	<property name="validateConfigAttributes"><value>false</value></property>
-    	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-    	<property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property>
-    	<property name="runAsManager"><ref bean="runAsManager"/></property>
- 		<property name="objectDefinitionSource"><ref bean="objectDefinitionSource"/></property>
+    	<property name="authenticationManager"><ref local="authenticationManager"/></property>
+    	<property name="accessDecisionManager"><ref local="accessDecisionManager"/></property>
+    	<property name="runAsManager"><ref local="runAsManager"/></property>
+ 		<property name="objectDefinitionSource"><ref local="objectDefinitionSource"/></property>
 	</bean>
 	</bean>
 	
 	
 	<bean id="bankService" class="sample.attributes.BankServiceImpl"/>
 	<bean id="bankService" class="sample.attributes.BankServiceImpl"/>
@@ -86,7 +86,7 @@
 		<!-- the bean names to automatically generate proxies for -->
 		<!-- the bean names to automatically generate proxies for -->
         <property name="beanNames">
         <property name="beanNames">
             <list>
             <list>
-                <value>bankService</value>
+                <idref local="bankService"/>
             </list>
             </list>
         </property>
         </property>
     </bean>
     </bean>

+ 19 - 19
samples/contacts/etc/ca/applicationContext.xml

@@ -28,9 +28,9 @@
 	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
 	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
 		<property name="providers">
 		<property name="providers">
 		  <list>
 		  <list>
-		    <ref bean="runAsAuthenticationProvider"/>
-		    <ref bean="authByAdapterProvider"/>
-		    <ref bean="daoAuthenticationProvider"/>
+		    <ref local="runAsAuthenticationProvider"/>
+		    <ref local="authByAdapterProvider"/>
+		    <ref local="daoAuthenticationProvider"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
@@ -47,12 +47,12 @@
 	</bean>
 	</bean>
 	
 	
 	<bean id="daoAuthenticationProvider" class="net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider">
 	<bean id="daoAuthenticationProvider" class="net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider">
-     	<property name="authenticationDao"><ref bean="inMemoryDaoImpl"/></property>
+     	<property name="authenticationDao"><ref local="inMemoryDaoImpl"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="basicProcessingFilter" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter">
 	<bean id="basicProcessingFilter" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter">
-		<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-		<property name="authenticationEntryPoint"><ref bean="basicProcessingFilterEntryPoint"/></property>
+		<property name="authenticationManager"><ref local="authenticationManager"/></property>
+		<property name="authenticationEntryPoint"><ref local="basicProcessingFilterEntryPoint"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="basicProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
 	<bean id="basicProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
@@ -74,8 +74,8 @@
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
 		<property name="decisionVoters">
 		<property name="decisionVoters">
 		  <list>
 		  <list>
-		    <ref bean="roleVoter"/>
-		    <ref bean="contactSecurityVoter"/>
+		    <ref local="roleVoter"/>
+		    <ref local="contactSecurityVoter"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
@@ -83,9 +83,9 @@
 	<!-- ===================== SECURITY DEFINITIONS ======================= -->
 	<!-- ===================== SECURITY DEFINITIONS ======================= -->
 	
 	
 	<bean id="publicContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
 	<bean id="publicContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
-    	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-    	<property name="accessDecisionManager"><ref bean="businessAccessDecisionManager"/></property>
-    	<property name="runAsManager"><ref bean="runAsManager"/></property>
+    	<property name="authenticationManager"><ref local="authenticationManager"/></property>
+    	<property name="accessDecisionManager"><ref local="businessAccessDecisionManager"/></property>
+    	<property name="runAsManager"><ref local="runAsManager"/></property>
  		<property name="objectDefinitionSource">
  		<property name="objectDefinitionSource">
 			<value>
 			<value>
 				sample.contact.ContactManager.delete=ROLE_SUPERVISOR,RUN_AS_SERVER
 				sample.contact.ContactManager.delete=ROLE_SUPERVISOR,RUN_AS_SERVER
@@ -98,9 +98,9 @@
 
 
 	<!-- We expect all callers of the backend object to hold the role ROLE_RUN_AS_SERVER -->
 	<!-- We expect all callers of the backend object to hold the role ROLE_RUN_AS_SERVER -->
 	<bean id="backendContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
 	<bean id="backendContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
-    	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-    	<property name="accessDecisionManager"><ref bean="businessAccessDecisionManager"/></property>
-    	<property name="runAsManager"><ref bean="runAsManager"/></property>
+    	<property name="authenticationManager"><ref local="authenticationManager"/></property>
+    	<property name="accessDecisionManager"><ref local="businessAccessDecisionManager"/></property>
+    	<property name="runAsManager"><ref local="runAsManager"/></property>
  		<property name="objectDefinitionSource">
  		<property name="objectDefinitionSource">
 			<value>
 			<value>
 				sample.contact.ContactManager.delete=ROLE_RUN_AS_SERVER
 				sample.contact.ContactManager.delete=ROLE_RUN_AS_SERVER
@@ -117,22 +117,22 @@
     	<property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
     	<property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
 	    <property name="interceptorNames">
 	    <property name="interceptorNames">
       	<list>
       	<list>
-        	<value>publicContactManagerSecurity</value>
- 	        <value>publicContactManagerTarget</value>
+        	<idref local="publicContactManagerSecurity"/>
+ 	        <idref local="publicContactManagerTarget"/>
     	</list>
     	</list>
 	    </property>
 	    </property>
   	</bean>
   	</bean>
 
 
 	<bean id="publicContactManagerTarget" class="sample.contact.ContactManagerFacade">
 	<bean id="publicContactManagerTarget" class="sample.contact.ContactManagerFacade">
-    	<property name="backend"><ref bean="backendContactManager"/></property>
+    	<property name="backend"><ref local="backendContactManager"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="backendContactManager" class="org.springframework.aop.framework.ProxyFactoryBean">
 	<bean id="backendContactManager" class="org.springframework.aop.framework.ProxyFactoryBean">
     	<property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
     	<property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
 	    <property name="interceptorNames">
 	    <property name="interceptorNames">
       	<list>
       	<list>
-        	<value>backendContactManagerSecurity</value>
- 	        <value>backendContactManagerTarget</value>
+        	<idref local="backendContactManagerSecurity"/>
+ 	        <idref local="backendContactManagerTarget"/>
     	</list>
     	</list>
 	    </property>
 	    </property>
   	</bean>
   	</bean>

+ 34 - 34
samples/contacts/etc/cas/applicationContext.xml

@@ -24,8 +24,8 @@
 	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
 	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
 		<property name="providers">
 		<property name="providers">
 		  <list>
 		  <list>
-		    <ref bean="runAsAuthenticationProvider"/>
-		    <ref bean="casAuthenticationProvider"/>
+		    <ref local="runAsAuthenticationProvider"/>
+		    <ref local="casAuthenticationProvider"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
@@ -42,8 +42,8 @@
 	</bean>
 	</bean>
 	
 	
 	<bean id="basicProcessingFilter" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter">
 	<bean id="basicProcessingFilter" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter">
-		<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-		<property name="authenticationEntryPoint"><ref bean="basicProcessingFilterEntryPoint"/></property>
+		<property name="authenticationManager"><ref local="authenticationManager"/></property>
+		<property name="authenticationEntryPoint"><ref local="basicProcessingFilterEntryPoint"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="basicProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
 	<bean id="basicProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
@@ -53,17 +53,17 @@
 	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
 	<bean id="autoIntegrationFilter" class="net.sf.acegisecurity.ui.AutoIntegrationFilter" />
 
 
 	<bean id="casAuthenticationProvider" class="net.sf.acegisecurity.providers.cas.CasAuthenticationProvider">
 	<bean id="casAuthenticationProvider" class="net.sf.acegisecurity.providers.cas.CasAuthenticationProvider">
-		<property name="casAuthoritiesPopulator"><ref bean="casAuthoritiesPopulator"/></property>
-		<property name="casProxyDecider"><ref bean="casProxyDecider"/></property>
-		<property name="ticketValidator"><ref bean="casProxyTicketValidator"/></property>
-		<property name="statelessTicketCache"><ref bean="statelessTicketCache"/></property>
+		<property name="casAuthoritiesPopulator"><ref local="casAuthoritiesPopulator"/></property>
+		<property name="casProxyDecider"><ref local="casProxyDecider"/></property>
+		<property name="ticketValidator"><ref local="casProxyTicketValidator"/></property>
+		<property name="statelessTicketCache"><ref local="statelessTicketCache"/></property>
 		<property name="key"><value>my_password_for_this_auth_provider_only</value></property>
 		<property name="key"><value>my_password_for_this_auth_provider_only</value></property>
 	</bean>
 	</bean>
 
 
 	<bean id="casProxyTicketValidator" class="net.sf.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator">
 	<bean id="casProxyTicketValidator" class="net.sf.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator">
 		<property name="casValidate"><value>https://localhost:8443/cas/proxyValidate</value></property>
 		<property name="casValidate"><value>https://localhost:8443/cas/proxyValidate</value></property>
 		<property name="proxyCallbackUrl"><value>https://localhost:8443/contacts-cas/casProxy/receptor</value></property>
 		<property name="proxyCallbackUrl"><value>https://localhost:8443/contacts-cas/casProxy/receptor</value></property>
-		<property name="serviceProperties"><ref bean="serviceProperties"/></property>
+		<property name="serviceProperties"><ref local="serviceProperties"/></property>
         <!-- <property name="trustStore"><value>/some/path/to/your/lib/security/cacerts</value></property> -->
         <!-- <property name="trustStore"><value>/some/path/to/your/lib/security/cacerts</value></property> -->
 	</bean>
 	</bean>
 
 
@@ -72,7 +72,7 @@
 	</bean>
 	</bean>
 
 
 	<bean id="casAuthoritiesPopulator" class="net.sf.acegisecurity.providers.cas.populator.DaoCasAuthoritiesPopulator">
 	<bean id="casAuthoritiesPopulator" class="net.sf.acegisecurity.providers.cas.populator.DaoCasAuthoritiesPopulator">
-		<property name="authenticationDao"><ref bean="inMemoryDaoImpl"/></property>
+		<property name="authenticationDao"><ref local="inMemoryDaoImpl"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="casProxyDecider" class="net.sf.acegisecurity.providers.cas.proxy.RejectProxyTickets">
 	<bean id="casProxyDecider" class="net.sf.acegisecurity.providers.cas.proxy.RejectProxyTickets">
@@ -96,8 +96,8 @@
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
 		<property name="decisionVoters">
 		<property name="decisionVoters">
 		  <list>
 		  <list>
-		    <ref bean="roleVoter"/>
-		    <ref bean="contactSecurityVoter"/>
+		    <ref local="roleVoter"/>
+		    <ref local="contactSecurityVoter"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
@@ -105,9 +105,9 @@
 	<!-- ===================== SECURITY DEFINITIONS ======================= -->
 	<!-- ===================== SECURITY DEFINITIONS ======================= -->
 	
 	
 	<bean id="publicContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
 	<bean id="publicContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
-    	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-    	<property name="accessDecisionManager"><ref bean="businessAccessDecisionManager"/></property>
-    	<property name="runAsManager"><ref bean="runAsManager"/></property>
+    	<property name="authenticationManager"><ref local="authenticationManager"/></property>
+    	<property name="accessDecisionManager"><ref local="businessAccessDecisionManager"/></property>
+    	<property name="runAsManager"><ref local="runAsManager"/></property>
  		<property name="objectDefinitionSource">
  		<property name="objectDefinitionSource">
 			<value>
 			<value>
 				sample.contact.ContactManager.delete=ROLE_SUPERVISOR,RUN_AS_SERVER
 				sample.contact.ContactManager.delete=ROLE_SUPERVISOR,RUN_AS_SERVER
@@ -120,9 +120,9 @@
 
 
 	<!-- We expect all callers of the backend object to hold the role ROLE_RUN_AS_SERVER -->
 	<!-- We expect all callers of the backend object to hold the role ROLE_RUN_AS_SERVER -->
 	<bean id="backendContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
 	<bean id="backendContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
-    	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-    	<property name="accessDecisionManager"><ref bean="businessAccessDecisionManager"/></property>
-    	<property name="runAsManager"><ref bean="runAsManager"/></property>
+    	<property name="authenticationManager"><ref local="authenticationManager"/></property>
+    	<property name="accessDecisionManager"><ref local="businessAccessDecisionManager"/></property>
+    	<property name="runAsManager"><ref local="runAsManager"/></property>
  		<property name="objectDefinitionSource">
  		<property name="objectDefinitionSource">
 			<value>
 			<value>
 				sample.contact.ContactManager.delete=ROLE_RUN_AS_SERVER
 				sample.contact.ContactManager.delete=ROLE_RUN_AS_SERVER
@@ -139,22 +139,22 @@
     	<property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
     	<property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
 	    <property name="interceptorNames">
 	    <property name="interceptorNames">
       	<list>
       	<list>
-        	<value>publicContactManagerSecurity</value>
- 	        <value>publicContactManagerTarget</value>
+        	<idref local="publicContactManagerSecurity"/>
+ 	        <idref local="publicContactManagerTarget"/>
     	</list>
     	</list>
 	    </property>
 	    </property>
   	</bean>
   	</bean>
 
 
 	<bean id="publicContactManagerTarget" class="sample.contact.ContactManagerFacade">
 	<bean id="publicContactManagerTarget" class="sample.contact.ContactManagerFacade">
-    	<property name="backend"><ref bean="backendContactManager"/></property>
+    	<property name="backend"><ref local="backendContactManager"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="backendContactManager" class="org.springframework.aop.framework.ProxyFactoryBean">
 	<bean id="backendContactManager" class="org.springframework.aop.framework.ProxyFactoryBean">
     	<property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
     	<property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
 	    <property name="interceptorNames">
 	    <property name="interceptorNames">
       	<list>
       	<list>
-        	<value>backendContactManagerSecurity</value>
- 	        <value>backendContactManagerTarget</value>
+        	<idref local="backendContactManagerSecurity"/>
+ 	        <idref local="backendContactManagerTarget"/>
     	</list>
     	</list>
 	    </property>
 	    </property>
   	</bean>
   	</bean>
@@ -164,7 +164,7 @@
 	<!-- ===================== HTTP CHANNEL REQUIREMENTS ==================== -->
 	<!-- ===================== HTTP CHANNEL REQUIREMENTS ==================== -->
 	
 	
 	<bean id="channelProcessingFilter" class="net.sf.acegisecurity.securechannel.ChannelProcessingFilter">
 	<bean id="channelProcessingFilter" class="net.sf.acegisecurity.securechannel.ChannelProcessingFilter">
-		<property name="channelDecisionManager"><ref bean="channelDecisionManager"/></property>
+		<property name="channelDecisionManager"><ref local="channelDecisionManager"/></property>
  		<property name="filterInvocationDefinitionSource">
  		<property name="filterInvocationDefinitionSource">
 			<value>
 			<value>
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
@@ -178,8 +178,8 @@
 	<bean id="channelDecisionManager" class="net.sf.acegisecurity.securechannel.ChannelDecisionManagerImpl">
 	<bean id="channelDecisionManager" class="net.sf.acegisecurity.securechannel.ChannelDecisionManagerImpl">
 	    <property name="channelProcessors">
 	    <property name="channelProcessors">
       		<list>
       		<list>
- 	        	<ref bean="secureChannelProcessor"/>
-        		<ref bean="insecureChannelProcessor"/>
+ 	        	<ref local="secureChannelProcessor"/>
+        		<ref local="insecureChannelProcessor"/>
      		</list>
      		</list>
 	    </property>
 	    </property>
 	</bean>
 	</bean>
@@ -190,27 +190,27 @@
 	<!-- ===================== HTTP REQUEST SECURITY ==================== -->
 	<!-- ===================== HTTP REQUEST SECURITY ==================== -->
 
 
 	<bean id="casProcessingFilter" class="net.sf.acegisecurity.ui.cas.CasProcessingFilter">
 	<bean id="casProcessingFilter" class="net.sf.acegisecurity.ui.cas.CasProcessingFilter">
-		<property name="authenticationManager"><ref bean="authenticationManager"/></property>
+		<property name="authenticationManager"><ref local="authenticationManager"/></property>
 		<property name="authenticationFailureUrl"><value>/casfailed.jsp</value></property>
 		<property name="authenticationFailureUrl"><value>/casfailed.jsp</value></property>
 		<property name="defaultTargetUrl"><value>/</value></property>
 		<property name="defaultTargetUrl"><value>/</value></property>
 		<property name="filterProcessesUrl"><value>/j_acegi_cas_security_check</value></property>
 		<property name="filterProcessesUrl"><value>/j_acegi_cas_security_check</value></property>
 	</bean>
 	</bean>
 
 
 	<bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter">
 	<bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter">
-		<property name="filterSecurityInterceptor"><ref bean="filterInvocationInterceptor"/></property>
-		<property name="authenticationEntryPoint"><ref bean="casProcessingFilterEntryPoint"/></property>
+		<property name="filterSecurityInterceptor"><ref local="filterInvocationInterceptor"/></property>
+		<property name="authenticationEntryPoint"><ref local="casProcessingFilterEntryPoint"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="casProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.cas.CasProcessingFilterEntryPoint">
 	<bean id="casProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.cas.CasProcessingFilterEntryPoint">
 		<property name="loginUrl"><value>https://localhost:8443/cas/login</value></property>
 		<property name="loginUrl"><value>https://localhost:8443/cas/login</value></property>
-		<property name="serviceProperties"><ref bean="serviceProperties"/></property>
+		<property name="serviceProperties"><ref local="serviceProperties"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="httpRequestAccessDecisionManager" class="net.sf.acegisecurity.vote.AffirmativeBased">
 	<bean id="httpRequestAccessDecisionManager" class="net.sf.acegisecurity.vote.AffirmativeBased">
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
 		<property name="decisionVoters">
 		<property name="decisionVoters">
 		  <list>
 		  <list>
-		    <ref bean="roleVoter"/>
+		    <ref local="roleVoter"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
@@ -219,9 +219,9 @@
 	     The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
 	     The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
 	     Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last -->
 	     Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last -->
 	<bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">
 	<bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">
-    	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-    	<property name="accessDecisionManager"><ref bean="httpRequestAccessDecisionManager"/></property>
-    	<property name="runAsManager"><ref bean="runAsManager"/></property>
+    	<property name="authenticationManager"><ref local="authenticationManager"/></property>
+    	<property name="accessDecisionManager"><ref local="httpRequestAccessDecisionManager"/></property>
+    	<property name="runAsManager"><ref local="runAsManager"/></property>
  		<property name="objectDefinitionSource">
  		<property name="objectDefinitionSource">
 			<value>
 			<value>
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON

+ 30 - 30
samples/contacts/etc/filter/applicationContext.xml

@@ -24,8 +24,8 @@
    <bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
    <bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
       <property name="providers">
       <property name="providers">
          <list>
          <list>
-            <ref bean="runAsAuthenticationProvider"/>
-            <ref bean="daoAuthenticationProvider"/>
+            <ref local="runAsAuthenticationProvider"/>
+            <ref local="daoAuthenticationProvider"/>
          </list>
          </list>
       </property>
       </property>
    </bean>
    </bean>
@@ -49,9 +49,9 @@
    <bean id="passwordEncoder" class="net.sf.acegisecurity.providers.encoding.Md5PasswordEncoder"/>
    <bean id="passwordEncoder" class="net.sf.acegisecurity.providers.encoding.Md5PasswordEncoder"/>
 
 
    <bean id="daoAuthenticationProvider" class="net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider">
    <bean id="daoAuthenticationProvider" class="net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider">
-      <property name="authenticationDao"><ref bean="inMemoryDaoImpl"/></property>
-      <property name="userCache"><ref bean="userCache"/></property>
-      <property name="passwordEncoder"><ref bean="passwordEncoder"/></property>
+      <property name="authenticationDao"><ref local="inMemoryDaoImpl"/></property>
+      <property name="userCache"><ref local="userCache"/></property>
+      <property name="passwordEncoder"><ref local="passwordEncoder"/></property>
    </bean>
    </bean>
 
 
    <bean id="userCache" class="net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
    <bean id="userCache" class="net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
@@ -62,8 +62,8 @@
    <bean id="loggerListener" class="net.sf.acegisecurity.providers.dao.event.LoggerListener"/>
    <bean id="loggerListener" class="net.sf.acegisecurity.providers.dao.event.LoggerListener"/>
 
 
    <bean id="basicProcessingFilter" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter">
    <bean id="basicProcessingFilter" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter">
-      <property name="authenticationManager"><ref bean="authenticationManager"/></property>
-      <property name="authenticationEntryPoint"><ref bean="basicProcessingFilterEntryPoint"/></property>
+      <property name="authenticationManager"><ref local="authenticationManager"/></property>
+      <property name="authenticationEntryPoint"><ref local="basicProcessingFilterEntryPoint"/></property>
    </bean>
    </bean>
 
 
    <bean id="basicProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
    <bean id="basicProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.basicauth.BasicProcessingFilterEntryPoint">
@@ -85,8 +85,8 @@
       <property name="allowIfAllAbstainDecisions"><value>false</value></property>
       <property name="allowIfAllAbstainDecisions"><value>false</value></property>
       <property name="decisionVoters">
       <property name="decisionVoters">
          <list>
          <list>
-            <ref bean="roleVoter"/>
-            <ref bean="contactSecurityVoter"/>
+            <ref local="roleVoter"/>
+            <ref local="contactSecurityVoter"/>
          </list>
          </list>
       </property>
       </property>
    </bean>
    </bean>
@@ -94,9 +94,9 @@
    <!-- ===================== SECURITY DEFINITIONS ======================= -->
    <!-- ===================== SECURITY DEFINITIONS ======================= -->
 
 
    <bean id="publicContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
    <bean id="publicContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
-      <property name="authenticationManager"><ref bean="authenticationManager"/></property>
-      <property name="accessDecisionManager"><ref bean="businessAccessDecisionManager"/></property>
-      <property name="runAsManager"><ref bean="runAsManager"/></property>
+      <property name="authenticationManager"><ref local="authenticationManager"/></property>
+      <property name="accessDecisionManager"><ref local="businessAccessDecisionManager"/></property>
+      <property name="runAsManager"><ref local="runAsManager"/></property>
       <property name="objectDefinitionSource">
       <property name="objectDefinitionSource">
          <value>
          <value>
 				sample.contact.ContactManager.delete=ROLE_SUPERVISOR,RUN_AS_SERVER
 				sample.contact.ContactManager.delete=ROLE_SUPERVISOR,RUN_AS_SERVER
@@ -109,9 +109,9 @@
 
 
    <!-- We expect all callers of the backend object to hold the role ROLE_RUN_AS_SERVER -->
    <!-- We expect all callers of the backend object to hold the role ROLE_RUN_AS_SERVER -->
    <bean id="backendContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
    <bean id="backendContactManagerSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
-      <property name="authenticationManager"><ref bean="authenticationManager"/></property>
-      <property name="accessDecisionManager"><ref bean="businessAccessDecisionManager"/></property>
-      <property name="runAsManager"><ref bean="runAsManager"/></property>
+      <property name="authenticationManager"><ref local="authenticationManager"/></property>
+      <property name="accessDecisionManager"><ref local="businessAccessDecisionManager"/></property>
+      <property name="runAsManager"><ref local="runAsManager"/></property>
       <property name="objectDefinitionSource">
       <property name="objectDefinitionSource">
          <value>
          <value>
 				sample.contact.ContactManager.delete=ROLE_RUN_AS_SERVER
 				sample.contact.ContactManager.delete=ROLE_RUN_AS_SERVER
@@ -128,22 +128,22 @@
       <property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
       <property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
       <property name="interceptorNames">
       <property name="interceptorNames">
          <list>
          <list>
-            <value>publicContactManagerSecurity</value>
-            <value>publicContactManagerTarget</value>
+            <idref local="publicContactManagerSecurity"/>
+            <idref local="publicContactManagerTarget"/>
          </list>
          </list>
       </property>
       </property>
    </bean>
    </bean>
 
 
    <bean id="publicContactManagerTarget" class="sample.contact.ContactManagerFacade">
    <bean id="publicContactManagerTarget" class="sample.contact.ContactManagerFacade">
-      <property name="backend"><ref bean="backendContactManager"/></property>
+      <property name="backend"><ref local="backendContactManager"/></property>
    </bean>
    </bean>
 
 
    <bean id="backendContactManager" class="org.springframework.aop.framework.ProxyFactoryBean">
    <bean id="backendContactManager" class="org.springframework.aop.framework.ProxyFactoryBean">
       <property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
       <property name="proxyInterfaces"><value>sample.contact.ContactManager</value></property>
       <property name="interceptorNames">
       <property name="interceptorNames">
          <list>
          <list>
-            <value>backendContactManagerSecurity</value>
-            <value>backendContactManagerTarget</value>
+            <idref local="backendContactManagerSecurity"/>
+            <idref local="backendContactManagerTarget"/>
          </list>
          </list>
       </property>
       </property>
    </bean>
    </bean>
@@ -156,7 +156,7 @@
         <filter-mapping> in web.xml for the following beans to be used -->
         <filter-mapping> in web.xml for the following beans to be used -->
 
 
    <bean id="channelProcessingFilter" class="net.sf.acegisecurity.securechannel.ChannelProcessingFilter">
    <bean id="channelProcessingFilter" class="net.sf.acegisecurity.securechannel.ChannelProcessingFilter">
-      <property name="channelDecisionManager"><ref bean="channelDecisionManager"/></property>
+      <property name="channelDecisionManager"><ref local="channelDecisionManager"/></property>
       <property name="filterInvocationDefinitionSource">
       <property name="filterInvocationDefinitionSource">
          <value>
          <value>
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
@@ -171,8 +171,8 @@
    <bean id="channelDecisionManager" class="net.sf.acegisecurity.securechannel.ChannelDecisionManagerImpl">
    <bean id="channelDecisionManager" class="net.sf.acegisecurity.securechannel.ChannelDecisionManagerImpl">
       <property name="channelProcessors">
       <property name="channelProcessors">
          <list>
          <list>
-            <ref bean="secureChannelProcessor"/>
-            <ref bean="insecureChannelProcessor"/>
+            <ref local="secureChannelProcessor"/>
+            <ref local="insecureChannelProcessor"/>
          </list>
          </list>
       </property>
       </property>
    </bean>
    </bean>
@@ -183,15 +183,15 @@
    <!-- ===================== HTTP REQUEST SECURITY ==================== -->
    <!-- ===================== HTTP REQUEST SECURITY ==================== -->
 
 
    <bean id="authenticationProcessingFilter" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
    <bean id="authenticationProcessingFilter" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
-      <property name="authenticationManager"><ref bean="authenticationManager"/></property>
+      <property name="authenticationManager"><ref local="authenticationManager"/></property>
       <property name="authenticationFailureUrl"><value>/acegilogin.jsp?login_error=1</value></property>
       <property name="authenticationFailureUrl"><value>/acegilogin.jsp?login_error=1</value></property>
       <property name="defaultTargetUrl"><value>/</value></property>
       <property name="defaultTargetUrl"><value>/</value></property>
       <property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
       <property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
    </bean>
    </bean>
 
 
    <bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter">
    <bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter">
-      <property name="filterSecurityInterceptor"><ref bean="filterInvocationInterceptor"/></property>
-      <property name="authenticationEntryPoint"><ref bean="authenticationProcessingFilterEntryPoint"/></property>
+      <property name="filterSecurityInterceptor"><ref local="filterInvocationInterceptor"/></property>
+      <property name="authenticationEntryPoint"><ref local="authenticationProcessingFilterEntryPoint"/></property>
    </bean>
    </bean>
 
 
    <bean id="authenticationProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
    <bean id="authenticationProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
@@ -203,7 +203,7 @@
       <property name="allowIfAllAbstainDecisions"><value>false</value></property>
       <property name="allowIfAllAbstainDecisions"><value>false</value></property>
       <property name="decisionVoters">
       <property name="decisionVoters">
          <list>
          <list>
-            <ref bean="roleVoter"/>
+            <ref local="roleVoter"/>
          </list>
          </list>
       </property>
       </property>
    </bean>
    </bean>
@@ -212,9 +212,9 @@
         The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
         The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
         Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last -->
         Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last -->
    <bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">
    <bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">
-      <property name="authenticationManager"><ref bean="authenticationManager"/></property>
-      <property name="accessDecisionManager"><ref bean="httpRequestAccessDecisionManager"/></property>
-      <property name="runAsManager"><ref bean="runAsManager"/></property>
+      <property name="authenticationManager"><ref local="authenticationManager"/></property>
+      <property name="accessDecisionManager"><ref local="httpRequestAccessDecisionManager"/></property>
+      <property name="runAsManager"><ref local="runAsManager"/></property>
       <property name="objectDefinitionSource">
       <property name="objectDefinitionSource">
          <value>
          <value>
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON

+ 9 - 9
samples/quick-start/war-root/WEB-INF/applicationContext.xml

@@ -30,8 +30,8 @@
 	     The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
 	     The FilterSecurityInterceptor will work from the top of the list down to the FIRST pattern that matches the request URL.
 	     Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last -->
 	     Accordingly, you should place MOST SPECIFIC (ie a/b/c/d.*) expressions first, with LEAST SPECIFIC (ie a/.*) expressions last -->
 	<bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">
 	<bean id="filterInvocationInterceptor" class="net.sf.acegisecurity.intercept.web.FilterSecurityInterceptor">
-    	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
-    	<property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property>
+    	<property name="authenticationManager"><ref local="authenticationManager"/></property>
+    	<property name="accessDecisionManager"><ref local="accessDecisionManager"/></property>
  		<property name="objectDefinitionSource">
  		<property name="objectDefinitionSource">
 			<value>
 			<value>
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
 			    CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
@@ -44,8 +44,8 @@
 	<!-- =================== SECURITY BEANS YOU WILL RARELY (IF EVER) CHANGE ================== -->
 	<!-- =================== SECURITY BEANS YOU WILL RARELY (IF EVER) CHANGE ================== -->
 	
 	
 	<bean id="daoAuthenticationProvider" class="net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider">
 	<bean id="daoAuthenticationProvider" class="net.sf.acegisecurity.providers.dao.DaoAuthenticationProvider">
-     	<property name="authenticationDao"><ref bean="authenticationDao"/></property>
-     	<property name="userCache"><ref bean="userCache"/></property>
+     	<property name="authenticationDao"><ref local="authenticationDao"/></property>
+     	<property name="userCache"><ref local="userCache"/></property>
 	</bean>
 	</bean>
 	
 	
 	<bean id="userCache" class="net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
 	<bean id="userCache" class="net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
@@ -55,7 +55,7 @@
 	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
 	<bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
 		<property name="providers">
 		<property name="providers">
 		  <list>
 		  <list>
-		    <ref bean="daoAuthenticationProvider"/>
+		    <ref local="daoAuthenticationProvider"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
@@ -66,21 +66,21 @@
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
    		<property name="allowIfAllAbstainDecisions"><value>false</value></property>
 		<property name="decisionVoters">
 		<property name="decisionVoters">
 		  <list>
 		  <list>
-		    <ref bean="roleVoter"/>
+		    <ref local="roleVoter"/>
 		  </list>
 		  </list>
 		</property>
 		</property>
 	</bean>
 	</bean>
 
 
 	<bean id="authenticationProcessingFilter" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
 	<bean id="authenticationProcessingFilter" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
-		<property name="authenticationManager"><ref bean="authenticationManager"/></property>
+		<property name="authenticationManager"><ref local="authenticationManager"/></property>
 		<property name="authenticationFailureUrl"><value>/acegilogin.jsp?login_error=1</value></property>
 		<property name="authenticationFailureUrl"><value>/acegilogin.jsp?login_error=1</value></property>
 		<property name="defaultTargetUrl"><value>/</value></property>
 		<property name="defaultTargetUrl"><value>/</value></property>
 		<property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
 		<property name="filterProcessesUrl"><value>/j_acegi_security_check</value></property>
 	</bean>
 	</bean>
 
 
 	<bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter">
 	<bean id="securityEnforcementFilter" class="net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter">
-		<property name="filterSecurityInterceptor"><ref bean="filterInvocationInterceptor"/></property>
-		<property name="authenticationEntryPoint"><ref bean="authenticationProcessingFilterEntryPoint"/></property>
+		<property name="filterSecurityInterceptor"><ref local="filterInvocationInterceptor"/></property>
+		<property name="authenticationEntryPoint"><ref local="authenticationProcessingFilterEntryPoint"/></property>
 	</bean>
 	</bean>
 
 
 	<bean id="authenticationProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
 	<bean id="authenticationProcessingFilterEntryPoint" class="net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">