← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 2986: merged with mortenoh-security branch, uses namespace security configuration

 

Merge authors:
  Morten Olav Hansen (mortenoh)
------------------------------------------------------------
revno: 2986 [merge]
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2011-03-08 15:54:48 +0100
message:
  merged with mortenoh-security branch, uses namespace security configuration
added:
  dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/defaultDhisSecurity.xml
  dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/security.xml
  dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/defaultDhisSecurity.xml
  dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/security.xml
modified:
  dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-api/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-datamart/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-settings/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-portal/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/WEB-INF/web.xml
  dhis-2/dhis-web/dhis-web-validationrule/src/main/webapp/WEB-INF/web.xml


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml	2011-02-24 23:14:56 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/beans.xml	2011-03-02 11:53:49 +0000
@@ -1,9 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans";
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:aop="http://www.springframework.org/schema/aop";
+	xmlns:sec="http://www.springframework.org/schema/security";
 	xsi:schemaLocation="
 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
-http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd";>
+http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
+http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd
+">
 
 	<!-- Store definitions -->
 
@@ -1184,40 +1187,6 @@
 			ref="org.hisp.dhis.dataelement.DataElementService" />
 	</bean>
 	
-	<!-- Security -->
-
-	<bean id="org.hisp.dhis.security.PasswordManager"
-		class="org.hisp.dhis.security.spring.SpringSecurityPasswordManager">
-		<property name="passwordEncoder" ref="passwordEncoder" />
-		<property name="usernameSaltSource" ref="usernameSaltSource" />
-	</bean>
-
-	<bean id="authenticationManager"
-		class="org.springframework.security.authentication.ProviderManager">
-		<property name="providers" ref="daoAuthenticationProvider" />
-		<property name="authenticationEventPublisher" ref="defaultAuthenticationEventPublisher" />
-	</bean>
-
-	<bean id="defaultAuthenticationEventPublisher"
-		class="org.springframework.security.authentication.DefaultAuthenticationEventPublisher" />
-
-	<bean id="daoAuthenticationProvider"
-		class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
-		<property name="userDetailsService" ref="userDetailsService" />
-		<property name="passwordEncoder" ref="passwordEncoder" />
-		<property name="saltSource" ref="usernameSaltSource" />
-	</bean>
-
-	<bean id="userDetailsService"
-		class="org.hisp.dhis.security.hibernate.HibernateUserDetailsService">
-		<property name="sessionFactory" ref="sessionFactory"/>
-	</bean>
-
-	<bean id="passwordEncoder"
-		class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" />
-
-	<bean id="usernameSaltSource" class="org.hisp.dhis.security.DefaultUsernameSaltSource" />
-
 	<!-- DeletionManager -->
 
 	<bean
@@ -1343,7 +1312,8 @@
 			org.hisp.dhis.organisationunit.OrganisationUnitGroupService.get*(..)
 			)" method="intercept" returning="object"/> </aop:aspect>
 		-->
-
 	</aop:config>
 
+	<!-- Security import -->
+	<import resource="security.xml" />
 </beans>

=== added file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/defaultDhisSecurity.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/defaultDhisSecurity.xml	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/defaultDhisSecurity.xml	2011-03-02 19:07:04 +0000
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:aop="http://www.springframework.org/schema/aop";
+	xmlns:sec="http://www.springframework.org/schema/security";
+	xsi:schemaLocation="
+http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
+http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd
+">
+	<!-- Security -->
+	<bean id="org.hisp.dhis.security.PasswordManager" class="org.hisp.dhis.security.spring.SpringSecurityPasswordManager">
+		<property name="passwordEncoder" ref="passwordEncoder" />
+		<property name="usernameSaltSource" ref="usernameSaltSource" />
+	</bean>
+
+	<bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager">
+		<property name="providers" ref="daoAuthenticationProvider" />
+		<property name="authenticationEventPublisher" ref="defaultAuthenticationEventPublisher" />
+	</bean>
+
+	<bean id="defaultAuthenticationEventPublisher" class="org.springframework.security.authentication.DefaultAuthenticationEventPublisher" />
+
+	<bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
+		<property name="userDetailsService" ref="userDetailsService" />
+		<property name="passwordEncoder" ref="passwordEncoder" />
+		<property name="saltSource" ref="usernameSaltSource" />
+	</bean>
+
+	<bean id="userDetailsService" class="org.hisp.dhis.security.hibernate.HibernateUserDetailsService">
+		<property name="sessionFactory" ref="sessionFactory" />
+	</bean>
+
+	<bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" />
+	<bean id="usernameSaltSource" class="org.hisp.dhis.security.DefaultUsernameSaltSource" />
+</beans>

=== added file 'dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/security.xml'
--- dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/security.xml	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/main/resources/META-INF/dhis/security.xml	2011-03-08 11:03:13 +0000
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:aop="http://www.springframework.org/schema/aop";
+  xmlns:sec="http://www.springframework.org/schema/security";
+  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
+      http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd";>
+
+  <bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" />
+  <bean id="usernameSaltSource" class="org.hisp.dhis.security.DefaultUsernameSaltSource" />
+
+  <bean id="userDetailsService" class="org.hisp.dhis.security.hibernate.HibernateUserDetailsService">
+    <property name="sessionFactory" ref="sessionFactory" />
+  </bean>
+
+  <bean id="org.hisp.dhis.security.PasswordManager" class="org.hisp.dhis.security.spring.SpringSecurityPasswordManager">
+    <property name="passwordEncoder" ref="passwordEncoder" />
+    <property name="usernameSaltSource" ref="usernameSaltSource" />
+  </bean>
+
+  <sec:authentication-manager alias="authenticationManager">
+    <sec:authentication-provider user-service-ref="userDetailsService">
+      <sec:password-encoder hash="md5">
+        <sec:salt-source ref="usernameSaltSource" />
+      </sec:password-encoder>
+    </sec:authentication-provider>
+  </sec:authentication-manager>
+</beans>

=== modified file 'dhis-2/dhis-web/dhis-web-api/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-api/src/main/webapp/WEB-INF/web.xml	2011-02-25 04:16:18 +0000
+++ dhis-2/dhis-web/dhis-web-api/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -28,7 +28,7 @@
       org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>
       org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
@@ -52,7 +52,7 @@
     <url-pattern>/api/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
@@ -81,12 +81,12 @@
       <param-value>
         com.sun.jersey.api.container.filter.LoggingFilter, org.hisp.dhis.web.api.HtmlPromotingUriConnegFilter</param-value>
     </init-param>
-<!--    <init-param>-->
-<!--      <param-name>-->
-<!--        com.sun.jersey.spi.container.ContainerResponseFilters</param-name>-->
-<!--      <param-value>-->
-<!--        com.sun.jersey.api.container.filter.LoggingFilter</param-value>-->
-<!--    </init-param>-->
+    <!-- <init-param> -->
+    <!-- <param-name> -->
+    <!-- com.sun.jersey.spi.container.ContainerResponseFilters</param-name> -->
+    <!-- <param-value> -->
+    <!-- com.sun.jersey.api.container.filter.LoggingFilter</param-value> -->
+    <!-- </init-param> -->
     <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
@@ -97,5 +97,4 @@
     <servlet-name>web-api</servlet-name>
     <url-pattern>/api</url-pattern>
   </servlet-mapping>
-
-</web-app>
\ No newline at end of file
+</web-app>

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/WEB-INF/web.xml	2010-02-22 09:19:15 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Case Entry</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -25,15 +25,15 @@
     <filter-name>OpenSessionInViewFilter</filter-name>
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
-   <filter>
-    <filter-name>filterChainProxy</filter-name>
+  <filter>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -4,25 +4,20 @@
 <web-app>
   <display-name>DHIS Common Resources for Web</display-name>
 
-  <!--
-    IMPORTANT NOTE:
-
-    * This module is not a stand-alone web application. Thus this file is not
-      properly set up.
+  <!-- IMPORTANT NOTE: 
+    * This module is not a stand-alone web application. Thus this file is not properly set up. 
     
-    * Any web module wanting to use the security functionality this module
-      provides must include the following filter configurations in its own
-      web.xml file (the dhis-web-portal module does this).
+    * Any web module wanting to use the security functionality this module provides must include the following 
+      filter configurations in its own web.xml file (the dhis-web-portal module does this). 
   -->
 
   <filter>
-    <filter-name>filterChainProxy</filter-name>
-	<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
+    <filter-name>springSecurityFilterChain</filter-name>
+    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
 
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
-
 </web-app>

=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/beans.xml	2011-02-21 10:32:35 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/beans.xml	2011-03-02 11:53:49 +0000
@@ -1,7 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans";
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
-	xmlns:sec="http://www.springframework.org/schema/security";
+<beans xmlns="http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:sec="http://www.springframework.org/schema/security";
 	xsi:schemaLocation="
 		http://www.springframework.org/schema/beans	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 		http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd";>
@@ -19,9 +17,8 @@
 			<value>maintenance</value>
 		</property>
 	</bean>
-		
-	<bean id="org.hisp.dhis.webportal.module.ConfigurableModuleComparator"
-		class="org.hisp.dhis.webportal.module.ConfigurableModuleComparator">
+
+	<bean id="org.hisp.dhis.webportal.module.ConfigurableModuleComparator" class="org.hisp.dhis.webportal.module.ConfigurableModuleComparator">
 		<property name="order">
 			<list>
 				<value>dhis-web-portal</value>
@@ -36,15 +33,13 @@
 		</property>
 	</bean>
 
-	<bean id="org.hisp.dhis.webportal.module.CurrentModuleDetectorFilter"
-		class="org.hisp.dhis.webportal.module.CurrentModuleDetectorFilter">
+	<bean id="org.hisp.dhis.webportal.module.CurrentModuleDetectorFilter" class="org.hisp.dhis.webportal.module.CurrentModuleDetectorFilter">
 		<property name="moduleManager">
 			<ref local="org.hisp.dhis.webportal.module.ModuleManager" />
 		</property>
 	</bean>
 
-	<bean id="org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor"
-		class="org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor">
+	<bean id="org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor" class="org.hisp.dhis.webportal.interceptor.XWorkPortalParamsInterceptor">
 		<property name="standardParams">
 			<set>
 				<value>page</value>
@@ -60,8 +55,7 @@
 		</property>
 	</bean>
 
-	<bean id="org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor"
-		class="org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor">
+	<bean id="org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor" class="org.hisp.dhis.webportal.interceptor.XWorkPortalModuleInterceptor">
 		<property name="moduleManager">
 			<ref local="org.hisp.dhis.webportal.module.ModuleManager" />
 		</property>
@@ -69,29 +63,25 @@
 
 	<bean id="org.hisp.dhis.webportal.menu.MenuStateManager" class="org.hisp.dhis.webportal.menu.SessionMenuStateManager" />
 
-	<bean id="org.hisp.dhis.webportal.menu.action.SetMenuHiddenAction"
-		class="org.hisp.dhis.webportal.menu.action.SetMenuHiddenAction">
-		<property name="menuStateManager">
-			<ref local="org.hisp.dhis.webportal.menu.MenuStateManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.webportal.menu.action.SetMenuVisibleAction"
-		class="org.hisp.dhis.webportal.menu.action.SetMenuVisibleAction">
-		<property name="menuStateManager">
-			<ref local="org.hisp.dhis.webportal.menu.MenuStateManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor"
-		class="org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor">
-		<property name="menuStateManager">
-			<ref local="org.hisp.dhis.webportal.menu.MenuStateManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor"
-		class="org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor">
+	<bean id="org.hisp.dhis.webportal.menu.action.SetMenuHiddenAction" class="org.hisp.dhis.webportal.menu.action.SetMenuHiddenAction">
+		<property name="menuStateManager">
+			<ref local="org.hisp.dhis.webportal.menu.MenuStateManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.webportal.menu.action.SetMenuVisibleAction" class="org.hisp.dhis.webportal.menu.action.SetMenuVisibleAction">
+		<property name="menuStateManager">
+			<ref local="org.hisp.dhis.webportal.menu.MenuStateManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor" class="org.hisp.dhis.webportal.interceptor.XWorkPortalMenuInterceptor">
+		<property name="menuStateManager">
+			<ref local="org.hisp.dhis.webportal.menu.MenuStateManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor" class="org.hisp.dhis.webportal.interceptor.XWorkPortalUserInterceptor">
 		<property name="currentUserService">
 			<ref bean="org.hisp.dhis.user.CurrentUserService" />
 		</property>
@@ -99,8 +89,7 @@
 
 	<!-- Organisation Unit Web Tree -->
 
-	<bean id="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager"
-		class="org.hisp.dhis.ouwt.manager.DefaultOrganisationUnitSelectionManager">
+	<bean id="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" class="org.hisp.dhis.ouwt.manager.DefaultOrganisationUnitSelectionManager">
 		<property name="organisationUnitService">
 			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
 		</property>
@@ -115,90 +104,83 @@
 		</property>
 	</bean>
 
-	<bean id="org.hisp.dhis.ouwt.interceptor.OrganisationUnitTreeInterceptor"
-		class="org.hisp.dhis.ouwt.interceptor.OrganisationUnitTreeInterceptor">
-		<property name="selectionManager">
-			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
-		</property>
-		<property name="treeStateManager">
-			<ref local="org.hisp.dhis.ouwt.manager.TreeStateManager" />
-		</property>		
-	</bean>
-
-	<bean id="org.hisp.dhis.ouwt.action.ExpandSubtreeAction" class="org.hisp.dhis.ouwt.action.ExpandSubtreeAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-		<property name="treeStateManager">
-			<ref local="org.hisp.dhis.ouwt.manager.TreeStateManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.ouwt.action.CollapseSubtreeAction" class="org.hisp.dhis.ouwt.action.CollapseSubtreeAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-		<property name="treeStateManager">
-			<ref local="org.hisp.dhis.ouwt.manager.TreeStateManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.ouwt.action.GetExpandedTreeAction" class="org.hisp.dhis.ouwt.action.GetExpandedTreeAction"
-		scope="prototype">
-		<property name="selectionManager">
-			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
-		</property>
-		<property name="treeStateManager">
-			<ref local="org.hisp.dhis.ouwt.manager.TreeStateManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.ouwt.action.SetSelectedOrganisationUnitAction"
-		class="org.hisp.dhis.ouwt.action.SetSelectedOrganisationUnitAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-		<property name="selectionManager">
-			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.ouwt.action.AddSelectedOrganisationUnitAction"
-		class="org.hisp.dhis.ouwt.action.AddSelectedOrganisationUnitAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-		<property name="selectionManager">
-			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.ouwt.action.RemoveSelectedOrganisationUnitAction"
-		class="org.hisp.dhis.ouwt.action.RemoveSelectedOrganisationUnitAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-		<property name="selectionManager">
-			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
-		</property>
-	</bean>
-	
-	<bean id="org.hisp.dhis.ouwt.action.GetOrganisationUnitByCodeAction"
-		class="org.hisp.dhis.ouwt.action.GetOrganisationUnitByCodeAction" scope="prototype">		
-		<property name="selectionManager">
-			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
-		</property>
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-	</bean>
-	
-	
+	<bean id="org.hisp.dhis.ouwt.interceptor.OrganisationUnitTreeInterceptor" class="org.hisp.dhis.ouwt.interceptor.OrganisationUnitTreeInterceptor">
+		<property name="selectionManager">
+			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
+		</property>
+		<property name="treeStateManager">
+			<ref local="org.hisp.dhis.ouwt.manager.TreeStateManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.ouwt.action.ExpandSubtreeAction" class="org.hisp.dhis.ouwt.action.ExpandSubtreeAction" scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="treeStateManager">
+			<ref local="org.hisp.dhis.ouwt.manager.TreeStateManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.ouwt.action.CollapseSubtreeAction" class="org.hisp.dhis.ouwt.action.CollapseSubtreeAction" scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="treeStateManager">
+			<ref local="org.hisp.dhis.ouwt.manager.TreeStateManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.ouwt.action.GetExpandedTreeAction" class="org.hisp.dhis.ouwt.action.GetExpandedTreeAction" scope="prototype">
+		<property name="selectionManager">
+			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
+		</property>
+		<property name="treeStateManager">
+			<ref local="org.hisp.dhis.ouwt.manager.TreeStateManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.ouwt.action.SetSelectedOrganisationUnitAction" class="org.hisp.dhis.ouwt.action.SetSelectedOrganisationUnitAction"
+		scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="selectionManager">
+			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.ouwt.action.AddSelectedOrganisationUnitAction" class="org.hisp.dhis.ouwt.action.AddSelectedOrganisationUnitAction"
+		scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="selectionManager">
+			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.ouwt.action.RemoveSelectedOrganisationUnitAction" class="org.hisp.dhis.ouwt.action.RemoveSelectedOrganisationUnitAction"
+		scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="selectionManager">
+			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.ouwt.action.GetOrganisationUnitByCodeAction" class="org.hisp.dhis.ouwt.action.GetOrganisationUnitByCodeAction"
+		scope="prototype">
+		<property name="selectionManager">
+			<ref local="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
+		</property>
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+	</bean>
+
+
 	<!-- Organisation Unit Selection Tree -->
 
 	<bean id="org.hisp.dhis.oust.manager.SelectionTreeManager" class="org.hisp.dhis.oust.manager.DefaultSelectionTreeManager">
@@ -207,337 +189,77 @@
 		</property>
 	</bean>
 
-	<bean id="org.hisp.dhis.oust.action.ExpandSubtreeAction" class="org.hisp.dhis.oust.action.ExpandSubtreeAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.oust.action.GetExpandedTreeAction" class="org.hisp.dhis.oust.action.GetExpandedTreeAction"
-		scope="prototype">
-		<property name="selectionTreeManager">
-			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
-		</property>	
-	</bean>
-
-	<bean id="org.hisp.dhis.oust.action.SetSelectedOrganisationUnitAction"
-		class="org.hisp.dhis.oust.action.SetSelectedOrganisationUnitAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-		<property name="selectionTreeManager">
-			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.oust.action.AddSelectedOrganisationUnitAction"
-		class="org.hisp.dhis.oust.action.AddSelectedOrganisationUnitAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-		<property name="organisationUnitGroupService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
-		</property>
-		<property name="selectionTreeManager">
-			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.oust.action.RemoveSelectedOrganisationUnitAction"
-		class="org.hisp.dhis.oust.action.RemoveSelectedOrganisationUnitAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>
-		<property name="organisationUnitGroupService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
-		</property>
-		<property name="selectionTreeManager">
-			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
-		</property>
-	</bean>
-	
-	<bean id="org.hisp.dhis.oust.action.SelectAllOrganisationUnitAction"
-		class="org.hisp.dhis.oust.action.SelectAllOrganisationUnitAction"
-		scope="prototype">
-		<property name="organisationUnitService">
-			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-		</property>		
-		<property name="selectionTreeManager">
-			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
-		</property>
-	</bean>
-	
-	<bean id="org.hisp.dhis.oust.action.ClearSelectedOrganisationUnitsAction"
-		class="org.hisp.dhis.oust.action.ClearSelectedOrganisationUnitsAction"
-		scope="prototype">
-		<property name="selectionTreeManager">
-			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
-		</property>
-	</bean>
-
-	<!-- Security : Action -->
-
-	<bean id="org.hisp.dhis.security.action.LoggedInAction" class="org.hisp.dhis.security.action.LoggedInAction"
-		scope="prototype">
-		<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
-		<property name="selectionManager"
-			ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
-		<property name="selectionTreeManager"
-			ref="org.hisp.dhis.oust.manager.SelectionTreeManager" />
-	</bean>
-		
-    <!-- Security : Filter -->
-	
-    <bean id="filterChainProxy" class="org.springframework.security.web.FilterChainProxy">
-        <sec:filter-chain-map path-type="ant">
-        <sec:filter-chain pattern="/dhis-web-commons/security/**" filters="none"/>
-        <sec:filter-chain pattern="/dhis-web-commons/javascripts/**" filters="none"/>
-        <sec:filter-chain pattern="/dhis-web-commons/css/**" filters="none"/>
-<!--        <sec:filter-chain pattern="/api/**/*" filters="httpSessionContextIntegrationFilter,basicAuthenticationRequiredFilter"/>-->
-        <sec:filter-chain pattern="/api/**" filters="httpSessionContextIntegrationFilter,basicAuthenticationRequiredFilter"/>
-        <sec:filter-chain pattern="/api" filters="httpSessionContextIntegrationFilter,basicAuthenticationRequiredFilter"/>
-        <sec:filter-chain pattern="/**" filters="httpSessionContextIntegrationFilter,authenticationProcessingFilter,logoutFilter,automaticAccessFilter,requiredLoginFilter"/>
-        </sec:filter-chain-map>
-    </bean>
-		
-	<bean id="httpSessionContextIntegrationFilter"
-		class="org.springframework.security.web.context.HttpSessionContextIntegrationFilter" />
-
-	<bean id="authenticationProcessingFilter"
-		class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter">
-		<property name="authenticationManager" ref="authenticationManager" />
-        <property name="authenticationFailureHandler" ref="failureHandler" />
-        <property name="authenticationSuccessHandler" ref="successHandler" />
-		<property name="filterProcessesUrl" value="/dhis-web-commons-security/login.action" />
-	</bean>
-
-    <bean id="successHandler" class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler" >
-        <property name="defaultTargetUrl" value="/dhis-web-commons-security/loggedIn.action" />
-        <property name="alwaysUseDefaultTargetUrl" value="true" />
-    </bean>
-        
-    <bean id="failureHandler" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler" >
-        <property name="defaultFailureUrl" value="/dhis-web-commons/security/loginfailed.html" />
-    </bean>
-
-	<bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
-		<constructor-arg value="/" />
-		<constructor-arg>
-			<list>
-				<ref bean="userAuditLogoutFilter" />
-				<bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
-			</list>
-		</constructor-arg>
-		<property name="filterProcessesUrl" value="/dhis-web-commons-security/logout.action" />
-	</bean>
-
-	<bean id="userAuditLogoutFilter" class="org.hisp.dhis.security.filter.UserAuditLogoutFilter">
-		<property name="userAuditService" ref="org.hisp.dhis.useraudit.UserAuditService"/>
-	</bean>
-
-	<bean id="automaticAccessFilter" class="org.hisp.dhis.security.filter.AutomaticAccessFilter">
-		<property name="accessProviders">
-			<map>
-				<entry key="databaseAdmin">
-					<ref bean="databaseAutomaticAccessProvider" />
-				</entry>
-				<entry key="ghostAdmin">
-					<ref bean="ghostAutomaticAccessProvider" />
-				</entry>
-			</map>
-		</property>
-	</bean>
-
-    <bean id="basicAuthenticationRequiredFilter" class="org.hisp.dhis.security.filter.BasicAuthenticationRequiredFilter">
-        <property name="authenticationManager" ref="authenticationManager" />
-        <property name="authenticationEntryPoint" ref="authenticationEntryPoint" />
-    </bean>
-
-    <bean id="authenticationEntryPoint" class="org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint">
-        <property name="realmName" value="DHIS2"/>
-    </bean>
-
-    <bean id="requiredLoginFilter" class="org.hisp.dhis.security.filter.RequiredLoginFilter">
-        <property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
-        <property name="loginPageUrl" value="/dhis-web-commons/security/login.html" />
-    </bean>
-
-    <bean class="org.springframework.web.context.support.ServletContextAttributeExporter">
-        <property name="attributes">
-            <map>
-                <entry key="userAuditService">
-                    <ref bean="org.hisp.dhis.useraudit.UserAuditService"/>
-                </entry>
-                <entry key="userAuditStore">
-                    <ref bean="org.hisp.dhis.useraudit.UserAuditStore"/>
-                </entry>
-            </map>
-        </property>
-    </bean>
-
-    <!-- Security : Listener -->
-	
-    <bean id="authenticationListener" class="org.hisp.dhis.security.listener.AuthenticationListener">       
-        <property name="userAuditService" ref="org.hisp.dhis.useraudit.UserAuditService" />
-    </bean>
-    
-    <!-- Security : AccessProvider -->
-    
-	<bean id="databaseAutomaticAccessProvider" class="org.hisp.dhis.security.DatabaseAutomaticAccessProvider">
-		<property name="userService" ref="org.hisp.dhis.user.UserService" />
-		<property name="systemAuthoritiesProvider" ref="simpleSystemAuthoritiesProvider" />
-		<property name="passwordManager" ref="org.hisp.dhis.security.PasswordManager" />
-	</bean>
-
-	<bean id="ghostAutomaticAccessProvider" class="org.hisp.dhis.security.GhostAutomaticAccessProvider">
-		<property name="userService" ref="org.hisp.dhis.user.UserService" />
-		<property name="systemAuthoritiesProvider" ref="simpleSystemAuthoritiesProvider" />
-	</bean>
-
-    <!-- Security : AccessDecion/Voter -->
-    
-	<bean id="accessDecisionManager"
-		class="org.hisp.dhis.security.vote.LogicalOrAccessDecisionManager">
-		<property name="accessDecisionManagers">
-			<list>
-				<ref local="adminAccessDecisionVoting" />
-				<ref local="regularAccessDecisionVoting" />
-			</list>
-		</property>
-	</bean>
-
-	<bean id="regularAccessDecisionVoting" class="org.springframework.security.access.vote.UnanimousBased">
-		<property name="decisionVoters">
-			<list>
-				<ref local="actionAccessVoter" />
-				<ref local="moduleAccessVoter" />
-			</list>
-		</property>
-	</bean>
-
-	<bean id="actionAccessVoter" class="org.hisp.dhis.security.vote.ActionAccessVoter">
-		<property name="attributePrefix" value="F_" />
-	</bean>
-
-	<bean id="moduleAccessVoter" class="org.hisp.dhis.security.vote.ModuleAccessVoter">
-		<property name="attributePrefix" value="M_" />
-		<property name="alwaysAccessible">
-			<set>
-				<value>dhis-web-commons-menu</value>
-				<value>dhis-web-commons-oust</value>
-				<value>dhis-web-commons-ouwt</value>
-				<value>dhis-web-commons-security</value>
-				<value>dhis-web-commons-i18n</value>
-				<value>dhis-web-commons-ajax</value>
-                <value>dhis-web-commons-ajax-json</value>
-                <value>dhis-web-commons-help</value>
-				<value>dhis-web-commons-about</value>
-				<value>dhis-web-portal</value>
-			</set>
-		</property>
-	</bean>
-
-	<bean id="adminAccessDecisionVoting" class="org.springframework.security.access.vote.UnanimousBased">
-		<property name="decisionVoters">
-			<list>
-				<ref local="adminAccessVoter" />
-			</list>
-		</property>
-	</bean>
-
-	<bean id="adminAccessVoter" class="org.hisp.dhis.security.vote.SimpleAccessVoter">
-		<property name="requiredAuthority" value="ALL" />
-	</bean>
-
-    <bean id="org.hisp.dhis.security.ActionAccessResolver" class="org.hisp.dhis.security.SpringSecurityActionAccessResolver">
-        <property name="requiredAuthoritiesProvider"
-            ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
-        <property name="accessDecisionManager" ref="accessDecisionManager" />
-    </bean>
-
-    <!-- Security : Interceptor -->
-    
-	<bean id="org.hisp.dhis.security.intercept.XWorkSecurityInterceptor"
-		class="org.hisp.dhis.security.intercept.XWorkSecurityInterceptor">
-		<property name="accessDecisionManager" ref="accessDecisionManager" />
-		<property name="authenticationManager" ref="authenticationManager" />
-		<property name="validateConfigAttributes" value="false" />
-		<property name="requiredAuthoritiesProvider"
-			ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
-		<property name="actionAccessResolver" ref="org.hisp.dhis.security.ActionAccessResolver" />
-	</bean>
-
-    <!-- Security : AuthorityProvider -->
-    
-	<bean id="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider"
-		class="org.hisp.dhis.security.authority.DefaultRequiredAuthoritiesProvider">
-		<property name="requiredAuthoritiesKey" value="requiredAuthorities" />
-		<property name="globalAttributes">
-			<set>
-				<value>M_MODULE_ACCESS_VOTER_ENABLED</value>
-			</set>
-		</property>
-	</bean>
-
-	<bean id="org.hisp.dhis.security.authority.SystemAuthoritiesProvider"
-		class="org.hisp.dhis.security.authority.CachingSystemAuthoritiesProvider">
-		<property name="source" ref="compositeSystemAuthoritiesProvider" />
-	</bean>
-
-	<bean id="compositeSystemAuthoritiesProvider"
-		class="org.hisp.dhis.security.authority.CompositeSystemAuthoritiesProvider">
-		<property name="sources">
-			<set>
-				<ref bean="detectingSystemAuthoritiesProvider" />
-				<ref bean="moduleSystemAuthoritiesProvider" />
-				<ref bean="simpleSystemAuthoritiesProvider" />
-			</set>
-		</property>
-	</bean>
-
-	<bean id="detectingSystemAuthoritiesProvider"
-		class="org.hisp.dhis.security.authority.DetectingSystemAuthoritiesProvider">
-		<property name="requiredAuthoritiesProvider"
-			ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
-	</bean>
-
-	<bean id="moduleSystemAuthoritiesProvider"
-		class="org.hisp.dhis.security.authority.ModuleSystemAuthoritiesProvider">
-		<property name="authorityPrefix" value="M_" />
-		<property name="moduleManager" ref="org.hisp.dhis.webportal.module.ModuleManager" />
-		<property name="excludes">
-			<set>
-				<value>dhis-web-commons-menu</value>
-				<value>dhis-web-commons-oust</value>
-				<value>dhis-web-commons-ouwt</value>
-				<value>dhis-web-commons-security</value>
-				<value>dhis-web-commons-i18n</value>
-				<value>dhis-web-commons-ajax</value>
-                <value>dhis-web-commons-ajax-json</value>
-                <value>dhis-web-commons-help</value>
-                <value>dhis-web-commons-about</value>
-				<value>dhis-web-portal</value>
-			</set>
-		</property>
-	</bean>
-
-	<bean id="simpleSystemAuthoritiesProvider"
-		class="org.hisp.dhis.security.authority.SimpleSystemAuthoritiesProvider">
-		<property name="authorities">
-			<set>
-				<value>ALL</value>
-			</set>
-		</property>
-	</bean>
+	<bean id="org.hisp.dhis.oust.action.ExpandSubtreeAction" class="org.hisp.dhis.oust.action.ExpandSubtreeAction" scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.oust.action.GetExpandedTreeAction" class="org.hisp.dhis.oust.action.GetExpandedTreeAction" scope="prototype">
+		<property name="selectionTreeManager">
+			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.oust.action.SetSelectedOrganisationUnitAction" class="org.hisp.dhis.oust.action.SetSelectedOrganisationUnitAction"
+		scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="selectionTreeManager">
+			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.oust.action.AddSelectedOrganisationUnitAction" class="org.hisp.dhis.oust.action.AddSelectedOrganisationUnitAction"
+		scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="organisationUnitGroupService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
+		</property>
+		<property name="selectionTreeManager">
+			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.oust.action.RemoveSelectedOrganisationUnitAction" class="org.hisp.dhis.oust.action.RemoveSelectedOrganisationUnitAction"
+		scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="organisationUnitGroupService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
+		</property>
+		<property name="selectionTreeManager">
+			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.oust.action.SelectAllOrganisationUnitAction" class="org.hisp.dhis.oust.action.SelectAllOrganisationUnitAction"
+		scope="prototype">
+		<property name="organisationUnitService">
+			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+		</property>
+		<property name="selectionTreeManager">
+			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.oust.action.ClearSelectedOrganisationUnitsAction" class="org.hisp.dhis.oust.action.ClearSelectedOrganisationUnitsAction"
+		scope="prototype">
+		<property name="selectionTreeManager">
+			<ref local="org.hisp.dhis.oust.manager.SelectionTreeManager" />
+		</property>
+	</bean>
+
+	<!-- Security import -->
+	<import resource="security.xml"/>
 
 	<!-- i18n -->
 
-	<bean id="org.hisp.dhis.i18n.action.I18nAction" class="org.hisp.dhis.i18n.action.I18nAction"
-		scope="prototype">
+	<bean id="org.hisp.dhis.i18n.action.I18nAction" class="org.hisp.dhis.i18n.action.I18nAction" scope="prototype">
 		<property name="i18nService">
 			<ref bean="org.hisp.dhis.i18n.I18nService" />
 		</property>
@@ -552,8 +274,7 @@
 		</property>
 	</bean>
 
-	<bean id="org.hisp.dhis.i18n.action.TranslateAction" 
-		class="org.hisp.dhis.i18n.action.TranslateAction">
+	<bean id="org.hisp.dhis.i18n.action.TranslateAction" class="org.hisp.dhis.i18n.action.TranslateAction">
 		<property name="i18nService">
 			<ref bean="org.hisp.dhis.i18n.I18nService" />
 		</property>
@@ -561,9 +282,8 @@
 			<ref bean="org.hisp.dhis.translation.TranslationService" />
 		</property>
 	</bean>
-	
-	<bean id="org.hisp.dhis.i18n.action.ValidateAddDuplicatedTranslationAction" 
-		class="org.hisp.dhis.i18n.action.ValidateAddDuplicatedTranslationAction">
+
+	<bean id="org.hisp.dhis.i18n.action.ValidateAddDuplicatedTranslationAction" class="org.hisp.dhis.i18n.action.ValidateAddDuplicatedTranslationAction">
 		<property name="i18nService">
 			<ref bean="org.hisp.dhis.i18n.I18nService" />
 		</property>
@@ -575,182 +295,156 @@
 	<!-- About -->
 
 	<bean id="org.hisp.dhis.about.action.AboutAction" class="org.hisp.dhis.about.action.AboutAction" scope="prototype">
-		<property name="locationManager" ref="locationManager"/>
-		<property name="databaseInfoProvider" ref="databaseInfoProvider"/>
-		<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService"/>
+		<property name="locationManager" ref="locationManager" />
+		<property name="databaseInfoProvider" ref="databaseInfoProvider" />
+		<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
 	</bean>
 
-	<bean id="org.hisp.dhis.about.action.HelpAction" class="org.hisp.dhis.about.action.HelpAction"
-		scope="prototype">
+	<bean id="org.hisp.dhis.about.action.HelpAction" class="org.hisp.dhis.about.action.HelpAction" scope="prototype">
 		<property name="localeManager" ref="org.hisp.dhis.i18n.locale.LocaleManager" />
 	</bean>
 
-	<bean id="org.hisp.dhis.about.action.SendFeedbackAction" class="org.hisp.dhis.about.action.SendFeedbackAction"
-		scope="prototype">
+	<bean id="org.hisp.dhis.about.action.SendFeedbackAction" class="org.hisp.dhis.about.action.SendFeedbackAction" scope="prototype">
 		<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
 	</bean>
-	
-    <bean id="org.hisp.dhis.help.action.GetHelpContentAction" class="org.hisp.dhis.help.action.GetHelpContentAction"
-        scope="prototype">
-		<property name="helpManager" ref="org.hisp.dhis.options.help.HelpManager"/>
-    </bean>
-    
-    <bean id="org.hisp.dhis.help.action.GetHelpItemsAction" class="org.hisp.dhis.help.action.GetHelpItemsAction"
-        scope="prototype">
-        <property name="helpManager" ref="org.hisp.dhis.options.help.HelpManager"/>
-    </bean>
-    
+
+	<bean id="org.hisp.dhis.help.action.GetHelpContentAction" class="org.hisp.dhis.help.action.GetHelpContentAction" scope="prototype">
+		<property name="helpManager" ref="org.hisp.dhis.options.help.HelpManager" />
+	</bean>
+
+	<bean id="org.hisp.dhis.help.action.GetHelpItemsAction" class="org.hisp.dhis.help.action.GetHelpItemsAction" scope="prototype">
+		<property name="helpManager" ref="org.hisp.dhis.options.help.HelpManager" />
+	</bean>
+
 	<!-- Common actions -->
-	
-	<bean id="org.hisp.dhis.commons.action.GetAvailablePeriodsAction"
-		class="org.hisp.dhis.commons.action.GetAvailablePeriodsAction" scope="prototype">
-	</bean>
-	
-	<bean id="org.hisp.dhis.commons.action.GetCategoryOptionCombosAction"
-		class="org.hisp.dhis.commons.action.GetCategoryOptionCombosAction" scope="prototype">
-		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService"/>
-	</bean>
-	
-	<bean id="org.hisp.dhis.commons.action.GetDataElementAction"
-        class="org.hisp.dhis.commons.action.GetDataElementAction" scope="prototype">
-        <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
-    </bean>
-
-    <bean id="org.hisp.dhis.commons.action.GetDataElementGroupAction"
-        class="org.hisp.dhis.commons.action.GetDataElementGroupAction" scope="prototype">
-        <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
-    </bean>
-        
-    <bean id="org.hisp.dhis.commons.action.GetDataElementGroupsAction"
-        class="org.hisp.dhis.commons.action.GetDataElementGroupsAction" scope="prototype">
-        <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
-    </bean>
-        
-    <bean id="org.hisp.dhis.commons.action.GetDataElementGroupSetAction"
-        class="org.hisp.dhis.commons.action.GetDataElementGroupSetAction" scope="prototype">
-        <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
-    </bean>
-        
-	<bean id="org.hisp.dhis.commons.action.GetDataElementNameAction"
-		class="org.hisp.dhis.commons.action.GetDataElementNameAction" scope="prototype">
-		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService"/>
-		<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
-	</bean>
-		
-	<bean id="org.hisp.dhis.commons.action.GetDataElementsAction"
-		class="org.hisp.dhis.commons.action.GetDataElementsAction" scope="prototype">
+
+	<bean id="org.hisp.dhis.commons.action.GetAvailablePeriodsAction" class="org.hisp.dhis.commons.action.GetAvailablePeriodsAction"
+		scope="prototype">
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetCategoryOptionCombosAction" class="org.hisp.dhis.commons.action.GetCategoryOptionCombosAction"
+		scope="prototype">
+		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetDataElementAction" class="org.hisp.dhis.commons.action.GetDataElementAction" scope="prototype">
+		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetDataElementGroupAction" class="org.hisp.dhis.commons.action.GetDataElementGroupAction"
+		scope="prototype">
+		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetDataElementGroupsAction" class="org.hisp.dhis.commons.action.GetDataElementGroupsAction"
+		scope="prototype">
+		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetDataElementGroupSetAction" class="org.hisp.dhis.commons.action.GetDataElementGroupSetAction"
+		scope="prototype">
+		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetDataElementNameAction" class="org.hisp.dhis.commons.action.GetDataElementNameAction" scope="prototype">
+		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+		<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetDataElementsAction" class="org.hisp.dhis.commons.action.GetDataElementsAction" scope="prototype">
 		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
 		<property name="categoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
 		<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
 		<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
 	</bean>
 
-	<bean id="org.hisp.dhis.commons.action.GetDataSetAction" 
-		class="org.hisp.dhis.commons.action.GetDataSetAction" scope="prototype">
+	<bean id="org.hisp.dhis.commons.action.GetDataSetAction" class="org.hisp.dhis.commons.action.GetDataSetAction" scope="prototype">
 		<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
 	</bean>
-	
-	<bean id="org.hisp.dhis.commons.action.GetDataSetsAction" 
-		class="org.hisp.dhis.commons.action.GetDataSetsAction" scope="prototype">
+
+	<bean id="org.hisp.dhis.commons.action.GetDataSetsAction" class="org.hisp.dhis.commons.action.GetDataSetsAction" scope="prototype">
 		<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
 		<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
 		<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
 		<property name="userService" ref="org.hisp.dhis.user.UserService" />
 	</bean>
-	
-	<bean id="org.hisp.dhis.commons.action.GetExpressionTextAction"
-		class="org.hisp.dhis.commons.action.GetExpressionTextAction" scope="prototype">
-		<property name="expressionService" ref="org.hisp.dhis.expression.ExpressionService"/>
-	</bean>
-	
-	<bean id="org.hisp.dhis.commons.action.GetIndicatorAction" 
-        class="org.hisp.dhis.commons.action.GetIndicatorAction" scope="prototype">
-        <property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
-    </bean>
-
-    <bean id="org.hisp.dhis.commons.action.GetIndicatorGroupAction" 
-        class="org.hisp.dhis.commons.action.GetIndicatorGroupAction" scope="prototype">
-        <property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
-    </bean>
-
-    <bean id="org.hisp.dhis.commons.action.GetIndicatorGroupsAction" 
-        class="org.hisp.dhis.commons.action.GetIndicatorGroupsAction" scope="prototype">
-        <property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
-    </bean>
-
-    <bean id="org.hisp.dhis.commons.action.GetIndicatorGroupSetAction" 
-        class="org.hisp.dhis.commons.action.GetIndicatorGroupSetAction" scope="prototype">
-        <property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
-    </bean>
-
-	<bean id="org.hisp.dhis.commons.action.GetIndicatorsAction" 
-		class="org.hisp.dhis.commons.action.GetIndicatorsAction" scope="prototype">
-		<property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
-	</bean>
-
-	<bean id="org.hisp.dhis.commons.action.GetOperandsAction"
-		class="org.hisp.dhis.commons.action.GetOperandsAction"
-		scope="prototype">
-        <property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService"/>		
-        <property name="dataElementCategoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService"/>
-        <property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService"/>
-	</bean>
-
-    <bean id="org.hisp.dhis.commons.action.GetOrganisationUnitAction"
-        class="org.hisp.dhis.commons.action.GetOrganisationUnitAction" scope="prototype">
-        <property name="organisationUnitService"
-            ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-    </bean>
-
-    <bean id="org.hisp.dhis.commons.action.GetOrganisationUnitChildrenAction"
-        class="org.hisp.dhis.commons.action.GetOrganisationUnitChildrenAction" scope="prototype">
-        <property name="organisationUnitService"
-            ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-    </bean>
-
-    <bean id="org.hisp.dhis.commons.action.GetOrganisationUnitGroupsAction"
-		class="org.hisp.dhis.commons.action.GetOrganisationUnitGroupsAction" scope="prototype">		
+
+	<bean id="org.hisp.dhis.commons.action.GetExpressionTextAction" class="org.hisp.dhis.commons.action.GetExpressionTextAction" scope="prototype">
+		<property name="expressionService" ref="org.hisp.dhis.expression.ExpressionService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetIndicatorAction" class="org.hisp.dhis.commons.action.GetIndicatorAction" scope="prototype">
+		<property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetIndicatorGroupAction" class="org.hisp.dhis.commons.action.GetIndicatorGroupAction" scope="prototype">
+		<property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetIndicatorGroupsAction" class="org.hisp.dhis.commons.action.GetIndicatorGroupsAction" scope="prototype">
+		<property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetIndicatorGroupSetAction" class="org.hisp.dhis.commons.action.GetIndicatorGroupSetAction"
+		scope="prototype">
+		<property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetIndicatorsAction" class="org.hisp.dhis.commons.action.GetIndicatorsAction" scope="prototype">
+		<property name="indicatorService" ref="org.hisp.dhis.indicator.IndicatorService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetOperandsAction" class="org.hisp.dhis.commons.action.GetOperandsAction" scope="prototype">
+		<property name="dataElementService" ref="org.hisp.dhis.dataelement.DataElementService" />
+		<property name="dataElementCategoryService" ref="org.hisp.dhis.dataelement.DataElementCategoryService" />
+		<property name="dataSetService" ref="org.hisp.dhis.dataset.DataSetService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetOrganisationUnitAction" class="org.hisp.dhis.commons.action.GetOrganisationUnitAction"
+		scope="prototype">
+		<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetOrganisationUnitChildrenAction" class="org.hisp.dhis.commons.action.GetOrganisationUnitChildrenAction"
+		scope="prototype">
+		<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetOrganisationUnitGroupsAction" class="org.hisp.dhis.commons.action.GetOrganisationUnitGroupsAction"
+		scope="prototype">
 		<property name="organisationUnitGroupService">
 			<ref bean="org.hisp.dhis.organisationunit.OrganisationUnitGroupService" />
-		</property>		
-	</bean>	
-		
-	<bean id="org.hisp.dhis.commons.action.GetOrganisationUnitLevelsAction"
-        class="org.hisp.dhis.commons.action.GetOrganisationUnitLevelsAction" scope="prototype">
-        <property name="organisationUnitService"
-            ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-    </bean>
-    
-	<bean id="org.hisp.dhis.commons.action.GetOrganisationUnitsAction"
-		class="org.hisp.dhis.commons.action.GetOrganisationUnitsAction" scope="prototype">
-		<property name="organisationUnitService"
-			ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
-	</bean>
-
-    <bean id="org.hisp.dhis.commons.action.GetPeriodAction" 
-        class="org.hisp.dhis.commons.action.GetPeriodAction" scope="prototype">
-        <property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
-    </bean>
-
-	<bean id="org.hisp.dhis.commons.action.GetPeriodsAction" 
-		class="org.hisp.dhis.commons.action.GetPeriodsAction" scope="prototype">
-		<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
-	</bean>
-	
-	<bean id="org.hisp.dhis.commons.action.GetPeriodTypesAction" 
-        class="org.hisp.dhis.commons.action.GetPeriodTypesAction" scope="prototype">
-        <property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
-    </bean>
-
-	<bean id="org.hisp.dhis.commons.action.NoAction" 
-		class="org.hisp.dhis.commons.action.NoAction" />
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetOrganisationUnitLevelsAction" class="org.hisp.dhis.commons.action.GetOrganisationUnitLevelsAction"
+		scope="prototype">
+		<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetOrganisationUnitsAction" class="org.hisp.dhis.commons.action.GetOrganisationUnitsAction"
+		scope="prototype">
+		<property name="organisationUnitService" ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetPeriodAction" class="org.hisp.dhis.commons.action.GetPeriodAction" scope="prototype">
+		<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetPeriodsAction" class="org.hisp.dhis.commons.action.GetPeriodsAction" scope="prototype">
+		<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.GetPeriodTypesAction" class="org.hisp.dhis.commons.action.GetPeriodTypesAction" scope="prototype">
+		<property name="periodService" ref="org.hisp.dhis.period.PeriodService" />
+	</bean>
+
+	<bean id="org.hisp.dhis.commons.action.NoAction" class="org.hisp.dhis.commons.action.NoAction" />
 
 	<!-- Interceptor -->
 
-	<bean id="org.hisp.dhis.interceptor.DisplayPropertyInterceptor"
-		class="org.hisp.dhis.interceptor.DisplayPropertyInterceptor">
-		<property name="displayPropertyManager"
-			ref="org.hisp.dhis.options.displayproperty.DisplayPropertyManager" />
+	<bean id="org.hisp.dhis.interceptor.DisplayPropertyInterceptor" class="org.hisp.dhis.interceptor.DisplayPropertyInterceptor">
+		<property name="displayPropertyManager" ref="org.hisp.dhis.options.displayproperty.DisplayPropertyManager" />
 	</bean>
 
 	<bean id="org.hisp.dhis.interceptor.ExceptionInterceptor" class="org.hisp.dhis.interceptor.ExceptionInterceptor">
@@ -764,12 +458,11 @@
 
 	<bean id="org.hisp.dhis.interceptor.I18nInterceptor" class="org.hisp.dhis.interceptor.I18nInterceptor">
 		<property name="i18nManager" ref="org.hisp.dhis.i18n.I18nManager" />
-		<property name="localeManager" ref="org.hisp.dhis.i18n.locale.LocaleManager"/>
+		<property name="localeManager" ref="org.hisp.dhis.i18n.locale.LocaleManager" />
 	</bean>
 
 	<bean id="org.hisp.dhis.interceptor.SortOrderInterceptor" class="org.hisp.dhis.interceptor.SortOrderInterceptor">
-		<property name="sortOrderManager"
-			ref="org.hisp.dhis.options.sortorder.SortOrderManager" />
+		<property name="sortOrderManager" ref="org.hisp.dhis.options.sortorder.SortOrderManager" />
 	</bean>
 
 	<bean id="org.hisp.dhis.interceptor.StyleInterceptor" class="org.hisp.dhis.interceptor.StyleInterceptor">
@@ -777,18 +470,15 @@
 		<property name="userStyleManager" ref="org.hisp.dhis.options.style.UserStyleManager" />
 	</bean>
 
-	<bean id="org.hisp.dhis.interceptor.SystemSettingInterceptor"
-		class="org.hisp.dhis.interceptor.SystemSettingInterceptor">
+	<bean id="org.hisp.dhis.interceptor.SystemSettingInterceptor" class="org.hisp.dhis.interceptor.SystemSettingInterceptor">
 		<property name="systemSettingManager" ref="org.hisp.dhis.options.SystemSettingManager" />
 	</bean>
 
-	<bean id="org.hisp.dhis.interceptor.ContextInterceptor"
-		class="org.hisp.dhis.interceptor.ContextInterceptor">
-		<property name="databaseInfoProvider" ref="databaseInfoProvider"/>
+	<bean id="org.hisp.dhis.interceptor.ContextInterceptor" class="org.hisp.dhis.interceptor.ContextInterceptor">
+		<property name="databaseInfoProvider" ref="databaseInfoProvider" />
 	</bean>
 
-	<bean id="org.hisp.dhis.useraccount.action.GetCurrentUserAction"
-		class="org.hisp.dhis.useraccount.action.GetCurrentUserAction" scope="prototype">
+	<bean id="org.hisp.dhis.useraccount.action.GetCurrentUserAction" class="org.hisp.dhis.useraccount.action.GetCurrentUserAction" scope="prototype">
 		<property name="currentUserService">
 			<ref bean="org.hisp.dhis.user.CurrentUserService" />
 		</property>
@@ -797,19 +487,19 @@
 		</property>
 	</bean>
 
-	<bean id="org.hisp.dhis.useraccount.action.UpdateUserAccountAction"
-		class="org.hisp.dhis.useraccount.action.UpdateUserAccountAction" scope="prototype">
+	<bean id="org.hisp.dhis.useraccount.action.UpdateUserAccountAction" class="org.hisp.dhis.useraccount.action.UpdateUserAccountAction"
+		scope="prototype">
 		<property name="userService">
 			<ref bean="org.hisp.dhis.user.UserService" />
 		</property>
 		<property name="passwordManager">
 			<ref bean="org.hisp.dhis.security.PasswordManager" />
-		</property>  
+		</property>
 	</bean>
-	
+
 	<bean id="editorManager" class="org.hisp.dhis.editor.FCKEditorManager" scope="prototype">
-	  	<property name="basePath" value="/dhis-web-commons/fckeditor"/>
-	  	<property name="skin" value="silver"/>
-	 </bean>
+		<property name="basePath" value="/dhis-web-commons/fckeditor" />
+		<property name="skin" value="silver" />
+	</bean>
 
 </beans>

=== added file 'dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/defaultDhisSecurity.xml'
--- dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/defaultDhisSecurity.xml	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/defaultDhisSecurity.xml	2011-03-02 11:53:49 +0000
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xmlns:sec="http://www.springframework.org/schema/security";
+	xsi:schemaLocation="
+		http://www.springframework.org/schema/beans	http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
+		http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd";>
+
+	<!-- Security : Action -->
+	<bean id="org.hisp.dhis.security.action.LoggedInAction" class="org.hisp.dhis.security.action.LoggedInAction" scope="prototype">
+		<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
+		<property name="selectionManager" ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
+		<property name="selectionTreeManager" ref="org.hisp.dhis.oust.manager.SelectionTreeManager" />
+	</bean>
+
+	<!-- Security : Filter -->
+	<bean id="filterChainProxy" class="org.springframework.security.web.FilterChainProxy">
+		<sec:filter-chain-map path-type="ant">
+			<sec:filter-chain pattern="/dhis-web-commons/security/**" filters="none" />
+			<sec:filter-chain pattern="/dhis-web-commons/javascripts/**" filters="none" />
+			<sec:filter-chain pattern="/dhis-web-commons/css/**" filters="none" />
+			<!-- <sec:filter-chain pattern="/api/**/*" filters="httpSessionContextIntegrationFilter,basicAuthenticationRequiredFilter"/> -->
+			<sec:filter-chain pattern="/api/**" filters="httpSessionContextIntegrationFilter,basicAuthenticationRequiredFilter" />
+			<sec:filter-chain pattern="/api" filters="httpSessionContextIntegrationFilter,basicAuthenticationRequiredFilter" />
+			<sec:filter-chain pattern="/**"
+				filters="httpSessionContextIntegrationFilter,authenticationProcessingFilter,logoutFilter,automaticAccessFilter,requiredLoginFilter" />
+		</sec:filter-chain-map>
+	</bean>
+
+	<bean id="httpSessionContextIntegrationFilter" class="org.springframework.security.web.context.HttpSessionContextIntegrationFilter" />
+
+	<bean id="authenticationProcessingFilter" class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter">
+		<property name="authenticationManager" ref="authenticationManager" />
+		<property name="authenticationFailureHandler" ref="failureHandler" />
+		<property name="authenticationSuccessHandler" ref="successHandler" />
+		<property name="filterProcessesUrl" value="/dhis-web-commons-security/login.action" />
+	</bean>
+
+	<bean id="successHandler" class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler">
+		<property name="defaultTargetUrl" value="/dhis-web-commons-security/loggedIn.action" />
+		<property name="alwaysUseDefaultTargetUrl" value="true" />
+	</bean>
+
+	<bean id="failureHandler" class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler">
+		<property name="defaultFailureUrl" value="/dhis-web-commons/security/loginfailed.html" />
+	</bean>
+
+	<bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
+		<constructor-arg value="/" />
+		<constructor-arg>
+			<list>
+				<ref bean="userAuditLogoutFilter" />
+				<bean class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />
+			</list>
+		</constructor-arg>
+		<property name="filterProcessesUrl" value="/dhis-web-commons-security/logout.action" />
+	</bean>
+
+	<bean id="userAuditLogoutFilter" class="org.hisp.dhis.security.filter.UserAuditLogoutFilter">
+		<property name="userAuditService" ref="org.hisp.dhis.useraudit.UserAuditService" />
+	</bean>
+
+	<bean id="automaticAccessFilter" class="org.hisp.dhis.security.filter.AutomaticAccessFilter">
+		<property name="accessProviders">
+			<map>
+				<entry key="databaseAdmin">
+					<ref bean="databaseAutomaticAccessProvider" />
+				</entry>
+				<entry key="ghostAdmin">
+					<ref bean="ghostAutomaticAccessProvider" />
+				</entry>
+			</map>
+		</property>
+	</bean>
+
+	<bean id="basicAuthenticationRequiredFilter" class="org.hisp.dhis.security.filter.BasicAuthenticationRequiredFilter">
+		<property name="authenticationManager" ref="authenticationManager" />
+		<property name="authenticationEntryPoint" ref="authenticationEntryPoint" />
+	</bean>
+
+	<bean id="authenticationEntryPoint" class="org.springframework.security.web.authentication.www.BasicAuthenticationEntryPoint">
+		<property name="realmName" value="DHIS2" />
+	</bean>
+
+	<bean id="requiredLoginFilter" class="org.hisp.dhis.security.filter.RequiredLoginFilter">
+		<property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
+		<property name="loginPageUrl" value="/dhis-web-commons/security/login.html" />
+	</bean>
+
+	<bean class="org.springframework.web.context.support.ServletContextAttributeExporter">
+		<property name="attributes">
+			<map>
+				<entry key="userAuditService">
+					<ref bean="org.hisp.dhis.useraudit.UserAuditService" />
+				</entry>
+				<entry key="userAuditStore">
+					<ref bean="org.hisp.dhis.useraudit.UserAuditStore" />
+				</entry>
+			</map>
+		</property>
+	</bean>
+
+	<!-- Security : Listener -->
+
+	<bean id="authenticationListener" class="org.hisp.dhis.security.listener.AuthenticationListener">
+		<property name="userAuditService" ref="org.hisp.dhis.useraudit.UserAuditService" />
+	</bean>
+
+	<!-- Security : AccessProvider -->
+
+	<bean id="databaseAutomaticAccessProvider" class="org.hisp.dhis.security.DatabaseAutomaticAccessProvider">
+		<property name="userService" ref="org.hisp.dhis.user.UserService" />
+		<property name="systemAuthoritiesProvider" ref="simpleSystemAuthoritiesProvider" />
+		<property name="passwordManager" ref="org.hisp.dhis.security.PasswordManager" />
+	</bean>
+
+	<bean id="ghostAutomaticAccessProvider" class="org.hisp.dhis.security.GhostAutomaticAccessProvider">
+		<property name="userService" ref="org.hisp.dhis.user.UserService" />
+		<property name="systemAuthoritiesProvider" ref="simpleSystemAuthoritiesProvider" />
+	</bean>
+
+	<!-- Security : AccessDecion/Voter -->
+
+	<bean id="accessDecisionManager" class="org.hisp.dhis.security.vote.LogicalOrAccessDecisionManager">
+		<property name="accessDecisionManagers">
+			<list>
+				<ref local="adminAccessDecisionVoting" />
+				<ref local="regularAccessDecisionVoting" />
+			</list>
+		</property>
+	</bean>
+
+	<bean id="regularAccessDecisionVoting" class="org.springframework.security.access.vote.UnanimousBased">
+		<property name="decisionVoters">
+			<list>
+				<ref local="actionAccessVoter" />
+				<ref local="moduleAccessVoter" />
+			</list>
+		</property>
+	</bean>
+
+	<bean id="actionAccessVoter" class="org.hisp.dhis.security.vote.ActionAccessVoter">
+		<property name="attributePrefix" value="F_" />
+	</bean>
+
+	<bean id="moduleAccessVoter" class="org.hisp.dhis.security.vote.ModuleAccessVoter">
+		<property name="attributePrefix" value="M_" />
+		<property name="alwaysAccessible">
+			<set>
+				<value>dhis-web-commons-menu</value>
+				<value>dhis-web-commons-oust</value>
+				<value>dhis-web-commons-ouwt</value>
+				<value>dhis-web-commons-security</value>
+				<value>dhis-web-commons-i18n</value>
+				<value>dhis-web-commons-ajax</value>
+				<value>dhis-web-commons-ajax-json</value>
+				<value>dhis-web-commons-help</value>
+				<value>dhis-web-commons-about</value>
+				<value>dhis-web-portal</value>
+			</set>
+		</property>
+	</bean>
+
+	<bean id="adminAccessDecisionVoting" class="org.springframework.security.access.vote.UnanimousBased">
+		<property name="decisionVoters">
+			<list>
+				<ref local="adminAccessVoter" />
+			</list>
+		</property>
+	</bean>
+
+	<bean id="adminAccessVoter" class="org.hisp.dhis.security.vote.SimpleAccessVoter">
+		<property name="requiredAuthority" value="ALL" />
+	</bean>
+
+	<bean id="org.hisp.dhis.security.ActionAccessResolver" class="org.hisp.dhis.security.SpringSecurityActionAccessResolver">
+		<property name="requiredAuthoritiesProvider" ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
+		<property name="accessDecisionManager" ref="accessDecisionManager" />
+	</bean>
+
+	<!-- Security : Interceptor -->
+
+	<bean id="org.hisp.dhis.security.intercept.XWorkSecurityInterceptor" class="org.hisp.dhis.security.intercept.XWorkSecurityInterceptor">
+		<property name="accessDecisionManager" ref="accessDecisionManager" />
+		<property name="authenticationManager" ref="authenticationManager" />
+		<property name="validateConfigAttributes" value="false" />
+		<property name="requiredAuthoritiesProvider" ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
+		<property name="actionAccessResolver" ref="org.hisp.dhis.security.ActionAccessResolver" />
+	</bean>
+
+	<!-- Security : AuthorityProvider -->
+
+	<bean id="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" class="org.hisp.dhis.security.authority.DefaultRequiredAuthoritiesProvider">
+		<property name="requiredAuthoritiesKey" value="requiredAuthorities" />
+		<property name="globalAttributes">
+			<set>
+				<value>M_MODULE_ACCESS_VOTER_ENABLED</value>
+			</set>
+		</property>
+	</bean>
+
+	<bean id="org.hisp.dhis.security.authority.SystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.CachingSystemAuthoritiesProvider">
+		<property name="source" ref="compositeSystemAuthoritiesProvider" />
+	</bean>
+
+	<bean id="compositeSystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.CompositeSystemAuthoritiesProvider">
+		<property name="sources">
+			<set>
+				<ref bean="detectingSystemAuthoritiesProvider" />
+				<ref bean="moduleSystemAuthoritiesProvider" />
+				<ref bean="simpleSystemAuthoritiesProvider" />
+			</set>
+		</property>
+	</bean>
+
+	<bean id="detectingSystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.DetectingSystemAuthoritiesProvider">
+		<property name="requiredAuthoritiesProvider" ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
+	</bean>
+
+	<bean id="moduleSystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.ModuleSystemAuthoritiesProvider">
+		<property name="authorityPrefix" value="M_" />
+		<property name="moduleManager" ref="org.hisp.dhis.webportal.module.ModuleManager" />
+		<property name="excludes">
+			<set>
+				<value>dhis-web-commons-menu</value>
+				<value>dhis-web-commons-oust</value>
+				<value>dhis-web-commons-ouwt</value>
+				<value>dhis-web-commons-security</value>
+				<value>dhis-web-commons-i18n</value>
+				<value>dhis-web-commons-ajax</value>
+				<value>dhis-web-commons-ajax-json</value>
+				<value>dhis-web-commons-help</value>
+				<value>dhis-web-commons-about</value>
+				<value>dhis-web-portal</value>
+			</set>
+		</property>
+	</bean>
+
+	<bean id="simpleSystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.SimpleSystemAuthoritiesProvider">
+		<property name="authorities">
+			<set>
+				<value>ALL</value>
+			</set>
+		</property>
+	</bean>
+</beans>

=== added file 'dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/security.xml'
--- dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/security.xml	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/resources/META-INF/dhis/security.xml	2011-03-08 14:52:20 +0000
@@ -0,0 +1,209 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"; xmlns:sec="http://www.springframework.org/schema/security"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+  xsi:schemaLocation="
+		http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd
+		http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd";>
+
+  <sec:global-method-security jsr250-annotations="disabled" pre-post-annotations="disabled" secured-annotations="disabled" />
+
+  <sec:http access-decision-manager-ref="accessDecisionManager" use-expressions="true" realm="DHIS2">
+    <sec:form-login default-target-url="/dhis-web-portal/redirect.action" always-use-default-target="false"
+      login-processing-url="/dhis-web-commons-security/login.action" authentication-failure-url="/dhis-web-commons/security/loginfailed.html"
+      login-page="/dhis-web-commons/security/login.html" />
+    <sec:http-basic />
+    <sec:logout logout-url="/dhis-web-commons-security/logout.action" />
+
+    <sec:intercept-url pattern="/dhis-web-commons/security/**" filters="none" />
+    <sec:intercept-url pattern="/dhis-web-commons/javascripts/**" filters="none" />
+    <sec:intercept-url pattern="/dhis-web-commons/css/**" filters="none" />
+    <sec:intercept-url pattern="/favicon.ico" filters="none" />
+    <sec:intercept-url pattern="/**" access="isAuthenticated()" />
+
+    <sec:intercept-url pattern="/api/**" access="isAuthenticated()" />
+    <sec:intercept-url pattern="/api" access="isAuthenticated()" />
+
+    <sec:custom-filter ref="automaticAccessFilter" before="LOGOUT_FILTER" />
+  </sec:http>
+
+  <!-- Security : Action -->
+  <bean id="org.hisp.dhis.security.action.LoggedInAction" class="org.hisp.dhis.security.action.LoggedInAction" scope="prototype">
+    <property name="currentUserService" ref="org.hisp.dhis.user.CurrentUserService" />
+    <property name="selectionManager" ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
+    <property name="selectionTreeManager" ref="org.hisp.dhis.oust.manager.SelectionTreeManager" />
+  </bean>
+
+  <bean id="automaticAccessFilter" class="org.hisp.dhis.security.filter.AutomaticAccessFilter">
+    <property name="accessProviders">
+      <map>
+        <entry key="databaseAdmin">
+          <ref bean="databaseAutomaticAccessProvider" />
+        </entry>
+        <entry key="ghostAdmin">
+          <ref bean="ghostAutomaticAccessProvider" />
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <bean class="org.springframework.web.context.support.ServletContextAttributeExporter">
+    <property name="attributes">
+      <map>
+        <entry key="userAuditService">
+          <ref bean="org.hisp.dhis.useraudit.UserAuditService" />
+        </entry>
+        <entry key="userAuditStore">
+          <ref bean="org.hisp.dhis.useraudit.UserAuditStore" />
+        </entry>
+      </map>
+    </property>
+  </bean>
+
+  <!-- Security : Listener -->
+
+  <bean id="authenticationListener" class="org.hisp.dhis.security.listener.AuthenticationListener">
+    <property name="userAuditService" ref="org.hisp.dhis.useraudit.UserAuditService" />
+  </bean>
+
+  <!-- Security : AccessProvider -->
+
+  <bean id="databaseAutomaticAccessProvider" class="org.hisp.dhis.security.DatabaseAutomaticAccessProvider">
+    <property name="userService" ref="org.hisp.dhis.user.UserService" />
+    <property name="systemAuthoritiesProvider" ref="simpleSystemAuthoritiesProvider" />
+    <property name="passwordManager" ref="org.hisp.dhis.security.PasswordManager" />
+  </bean>
+
+  <bean id="ghostAutomaticAccessProvider" class="org.hisp.dhis.security.GhostAutomaticAccessProvider">
+    <property name="userService" ref="org.hisp.dhis.user.UserService" />
+    <property name="systemAuthoritiesProvider" ref="simpleSystemAuthoritiesProvider" />
+  </bean>
+
+  <!-- Security : AccessDecion/Voter -->
+
+  <bean id="accessDecisionManager" class="org.hisp.dhis.security.vote.LogicalOrAccessDecisionManager">
+    <property name="accessDecisionManagers">
+      <list>
+        <ref local="adminAccessDecisionVoting" />
+        <ref local="regularAccessDecisionVoting" />
+      </list>
+    </property>
+  </bean>
+
+  <bean id="adminAccessDecisionVoting" class="org.springframework.security.access.vote.UnanimousBased">
+    <property name="decisionVoters">
+      <list>
+        <ref local="adminAccessVoter" />
+      </list>
+    </property>
+  </bean>
+
+  <bean id="adminAccessVoter" class="org.hisp.dhis.security.vote.SimpleAccessVoter">
+    <property name="requiredAuthority" value="ALL" />
+  </bean>
+
+  <bean id="regularAccessDecisionVoting" class="org.springframework.security.access.vote.UnanimousBased">
+    <property name="decisionVoters">
+      <list>
+        <ref local="actionAccessVoter" />
+        <ref local="moduleAccessVoter" />
+        <ref local="authenticatedVoter" />
+        <ref local="webExpressionVoter" />
+      </list>
+    </property>
+  </bean>
+
+  <bean id="authenticatedVoter" class="org.springframework.security.access.vote.AuthenticatedVoter" />
+  <bean id="webExpressionVoter" class="org.springframework.security.web.access.expression.WebExpressionVoter" />
+
+  <bean id="actionAccessVoter" class="org.hisp.dhis.security.vote.ActionAccessVoter">
+    <property name="attributePrefix" value="F_" />
+  </bean>
+
+  <bean id="moduleAccessVoter" class="org.hisp.dhis.security.vote.ModuleAccessVoter">
+    <property name="attributePrefix" value="M_" />
+    <property name="alwaysAccessible">
+      <set>
+        <value>dhis-web-commons-menu</value>
+        <value>dhis-web-commons-oust</value>
+        <value>dhis-web-commons-ouwt</value>
+        <value>dhis-web-commons-security</value>
+        <value>dhis-web-commons-i18n</value>
+        <value>dhis-web-commons-ajax</value>
+        <value>dhis-web-commons-ajax-json</value>
+        <value>dhis-web-commons-help</value>
+        <value>dhis-web-commons-about</value>
+        <value>dhis-web-portal</value>
+      </set>
+    </property>
+  </bean>
+
+  <bean id="org.hisp.dhis.security.ActionAccessResolver" class="org.hisp.dhis.security.SpringSecurityActionAccessResolver">
+    <property name="requiredAuthoritiesProvider" ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
+    <property name="accessDecisionManager" ref="accessDecisionManager" />
+  </bean>
+
+  <!-- Security : Interceptor -->
+
+  <bean id="org.hisp.dhis.security.intercept.XWorkSecurityInterceptor" class="org.hisp.dhis.security.intercept.XWorkSecurityInterceptor">
+    <property name="accessDecisionManager" ref="accessDecisionManager" />
+    <property name="authenticationManager" ref="authenticationManager" />
+    <property name="validateConfigAttributes" value="false" />
+    <property name="requiredAuthoritiesProvider" ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
+    <property name="actionAccessResolver" ref="org.hisp.dhis.security.ActionAccessResolver" />
+  </bean>
+
+  <!-- Security : AuthorityProvider -->
+
+  <bean id="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" class="org.hisp.dhis.security.authority.DefaultRequiredAuthoritiesProvider">
+    <property name="requiredAuthoritiesKey" value="requiredAuthorities" />
+    <property name="globalAttributes">
+      <set>
+        <value>M_MODULE_ACCESS_VOTER_ENABLED</value>
+      </set>
+    </property>
+  </bean>
+
+  <bean id="org.hisp.dhis.security.authority.SystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.CachingSystemAuthoritiesProvider">
+    <property name="source" ref="compositeSystemAuthoritiesProvider" />
+  </bean>
+
+  <bean id="compositeSystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.CompositeSystemAuthoritiesProvider">
+    <property name="sources">
+      <set>
+        <ref bean="detectingSystemAuthoritiesProvider" />
+        <ref bean="moduleSystemAuthoritiesProvider" />
+        <ref bean="simpleSystemAuthoritiesProvider" />
+      </set>
+    </property>
+  </bean>
+
+  <bean id="detectingSystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.DetectingSystemAuthoritiesProvider">
+    <property name="requiredAuthoritiesProvider" ref="org.hisp.dhis.security.authority.RequiredAuthoritiesProvider" />
+  </bean>
+
+  <bean id="moduleSystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.ModuleSystemAuthoritiesProvider">
+    <property name="authorityPrefix" value="M_" />
+    <property name="moduleManager" ref="org.hisp.dhis.webportal.module.ModuleManager" />
+    <property name="excludes">
+      <set>
+        <value>dhis-web-commons-menu</value>
+        <value>dhis-web-commons-oust</value>
+        <value>dhis-web-commons-ouwt</value>
+        <value>dhis-web-commons-security</value>
+        <value>dhis-web-commons-i18n</value>
+        <value>dhis-web-commons-ajax</value>
+        <value>dhis-web-commons-ajax-json</value>
+        <value>dhis-web-commons-help</value>
+        <value>dhis-web-commons-about</value>
+        <value>dhis-web-portal</value>
+      </set>
+    </property>
+  </bean>
+
+  <bean id="simpleSystemAuthoritiesProvider" class="org.hisp.dhis.security.authority.SimpleSystemAuthoritiesProvider">
+    <property name="authorities">
+      <set>
+        <value>ALL</value>
+      </set>
+    </property>
+  </bean>
+</beans>

=== modified file 'dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-dashboard-integration/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Web Dashboard</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
-	<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
+    <filter-name>springSecurityFilterChain</filter-name>
+    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-dataentry/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Data Entry</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-datamart/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-datamart/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-datamart/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Data Mart</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-importexport/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Import-Export</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataadmin/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Data Administration</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-datadictionary/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Data Dictionary</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-dataset/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Data Set Management</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-organisationunit/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Organisation Unit Management</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Patient Management</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-settings/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-settings/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-settings/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Settings Management</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-user/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS User Management</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/WEB-INF/web.xml	2010-10-28 09:17:13 +0000
+++ dhis-2/dhis-web/dhis-web-mapping/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Mapping</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,19 +43,18 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>
   <listener>
     <listener-class>org.hisp.dhis.system.startup.StartupListener</listener-class>
   </listener>
-
 </web-app>

=== modified file 'dhis-2/dhis-web/dhis-web-portal/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-portal/src/main/webapp/WEB-INF/web.xml	2011-02-25 04:16:18 +0000
+++ dhis-2/dhis-web/dhis-web-portal/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS 2</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>databaseAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -47,14 +47,14 @@
     <url-pattern>/api/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>
@@ -84,8 +84,7 @@
   </servlet-mapping>
 
   <error-page>
-   <exception-type>java.lang.Throwable</exception-type>
-   <location>/error.html</location>
+    <exception-type>java.lang.Throwable</exception-type>
+    <location>/error.html</location>
   </error-page>
-
 </web-app>

=== modified file 'dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-reporting/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Web Reporting</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>

=== modified file 'dhis-2/dhis-web/dhis-web-validationrule/src/main/webapp/WEB-INF/web.xml'
--- dhis-2/dhis-web/dhis-web-validationrule/src/main/webapp/WEB-INF/web.xml	2010-01-28 15:23:28 +0000
+++ dhis-2/dhis-web/dhis-web-validationrule/src/main/webapp/WEB-INF/web.xml	2011-03-02 19:07:04 +0000
@@ -3,7 +3,7 @@
   "http://java.sun.com/dtd/web-app_2_3.dtd";>
 <web-app>
   <display-name>DHIS Validation Rule</display-name>
-  
+
   <context-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>classpath*:/META-INF/dhis/beans.xml</param-value>
@@ -12,7 +12,7 @@
     <param-name>automaticAccessType</param-name>
     <param-value>ghostAdmin</param-value>
   </context-param>
-  
+
   <filter>
     <filter-name>RedirectFilter</filter-name>
     <filter-class>org.hisp.dhis.servlet.filter.HttpRedirectFilter</filter-class>
@@ -26,14 +26,14 @@
     <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
   </filter>
   <filter>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
   </filter>
   <filter>
     <filter-name>Struts</filter-name>
     <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
   </filter>
-  
+
   <filter-mapping>
     <filter-name>RedirectFilter</filter-name>
     <url-pattern>/</url-pattern>
@@ -43,14 +43,14 @@
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
   <filter-mapping>
-    <filter-name>filterChainProxy</filter-name>
+    <filter-name>springSecurityFilterChain</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>
   <filter-mapping>
     <filter-name>Struts</filter-name>
     <url-pattern>*.action</url-pattern>
   </filter-mapping>
-  
+
   <listener>
     <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
   </listener>