<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC
    "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>	
	<!-- ========================= ENCRYPTION SERVICE ================================ -->
	
	<bean id="encryptionService" class="gov.va.med.fw.ui.security.UIEncryptionServiceImpl" parent="abstractEncryptionService">
		<property name="encryptionFlag"><value>${enableEncryption}</value></property>
		<property name="encryptionErrorUrl"><value>error.display.do</value></property>
	</bean>		
	
	<bean id="webSecurityFilter" 
		class="gov.va.med.fw.ui.filter.WebSecurityFilter">
		<property name="ssoErrorUrl" value="${error.SSO.url}" />
	</bean>	
		
	<bean id="filterChainProxy" 
		class="org.acegisecurity.util.FilterChainProxy">
		<property name="filterInvocationDefinitionSource">
			<value> CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON 
				PATTERN_TYPE_APACHE_ANT 
				/**=httpSessionContextIntegrationFilter, anonymousProcessingFilter, exceptionTranslationFilter, filterInvocationInterceptor 
				</value>
		</property>
	</bean>
	
	<bean id="httpSessionContextIntegrationFilter" 
		class="org.acegisecurity.context.HttpSessionContextIntegrationFilter">
		<property name="context" ref="acegiSecureContext"/>
		<property name="allowSessionCreation" value="false"/>
	</bean>
		
	<bean id="exceptionTranslationFilter" 
		class="org.acegisecurity.ui.ExceptionTranslationFilter">
		<property name="authenticationEntryPoint" ref="authenticationProcessingFilterEntryPoint"/>
	</bean>	
		
	<bean id="authenticationProcessingFilterEntryPoint" 
		class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
		<property name="loginFormUrl" value="/logon.display.do"/>
		<property name="forceHttps" value="false"/>
	</bean>
	
	<bean id="filterInvocationInterceptor" 
		class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
		<property name="authenticationManager" ref="authenticationManager"/>
		<property name="accessDecisionManager" ref="requestAccessDecisionManager"/>
		<property name="objectDefinitionSource">
			<value> 
				PATTERN_TYPE_APACHE_ANT 
				/index.jsp=ROLE_ANONYMOUS,1601
				/logon*=ROLE_ANONYMOUS,1601 
				/changePassword*=ROLE_ANONYMOUS,1601
				/admin/systemParameters*=3001,3002,3003,3004,3005,3006,3007,3008,3009,3010,3011
				/admin/searchUserAccount**=1301,1302,1303,1304,1305,1306
				/admin/editUserAccount**=1301,1302,1303,1304,1305,1306
				/admin/searchUserProfile*=3102,3103
				/admin/editUserProfile*=3102,3103
				/admin/viewUserProfileHistory*=3102,3103
				/admin/viewRoles*=3301,3302,3303,3304
				/admin/editRole*=3301,3302,3303,3304
				/admin/viewRoleHistory*=3301,3302,3303,3304		
				/admin/viewCapabilitySets*=3201,3202,3203,3204
				/admin/editCapabilitySet*=3201,3202,3203,3204
                /admin/viewCapabilitySetHistory*=3201,3202,3203,3204  
                /admin/viewHbps*=2614,2615,2616
                /admin/editHbps*=2614,2615,2616
                /admin/editPlanName*=2614,2615,2616
                /admin/viewHbpInformationHistory*=2614,2615,2616 
				/admin/overview*=3401,3402
				/admin/handBookBatchRequest*=1808
				/admin/handBookBatchFileProcess*=1808
				/admin/userSessions*=System Administrator
				/admin/msdsService*=System Administrator
				/admin/viewLog4jCurrentLogLevels*=System Administrator
				/admin/updateLogLevels*=System Administrator
				/admin/resetLogLevelsToDefault*=System Administrator
				/admin/batchProcess*=System Administrator
				/admin/serviceUser*=System Administrator
				/admin/editServiceUser*=System Administrator
				/admin/serviceRequest*=System Administrator
				/admin/**=1601				
				/comms/**=1601
				/demographic/demographicOverview*=1701,1702,1703,2301,2303,2306,2302,2303,2304,2305,2201,2202,2203,2204,2401,2402,2403
				/demographic/demographicAddresses*=1701,1702,1703
				/demographic/demographicAddressesHistory*=1701,1702,1703
				/demographic/demographicPersonal*=2301,2303,2306
				/demographic/demographicPersonalHistory*=2301,2303,2306
				/demographic/demographicIdentityTraits*=2302,2303,2304,2305
				/demographic/demographicIdentityTraitsHistory*=2302,2303,2304,2305
				/demographic/displayAssociation*=2201,2202,2203,2204
				/demographic/addAssociation*=2201,2202
				/demographic/updateAssociation*=2202
				/demographic/associationHistory*=2201,2202,2203,2204
				/demographic/insuranceInfoDisplay*=2401,2402,2403
				/demographic/editInsurance*=2402
				/demographic/addInsurance*=2401,2402
				/demographic/editMedicare*=2401,2402
				/demographic/insuranceHistory*=2401,2402,2403
				/demographic/**=1601
				/ee/enrollment*=2001,2003,2004,2005
				/ee/gotoEligibilityEdit*=2002
				/ee/eligibility*=2001,2002
				/ee/**=2001,2002,2003,2004,2005
				/egt/**=1901,1902,1903,1904,1905,1906
				/facility/**=3707,3708,3709,3710,3711
				/financials/relaxationPercentage*=3901,3902
				/financials/**=2101,2102,2103,2104,2105 
				/message/**=3701,3702,3703,3704,3705,3706,3707,3708,3709 
				/militaryservice/**=2501,2502,2503				
				/person/personMergeWorklist*=1201,1202,1203,1204
				/person/personUnmergeWorklist*=1204
				/person/personMerge*=1203,1204
				/person/loadRegistry*=1501
				/person/searchRegistry*=2901,2902,2903,2904,2905,2906,2907,2908,2909
				/person/addPHRegistry*=2905,2908
				/person/updatePHRegistry*=2908
				/person/addPOWRegistry*=2904,2907
				/person/updatePOWRegistry*=2907
				/person/addSHADRegistry*=2906,2909
				/person/updateSHADRegistry*=2909
				/person/powRegistryHistory*=2901,2904,2907
				/person/phRegistryHistory*=2902,2905,2908				
				/person/shadRegistryHistory*=2903,2906,2909
				/person/**=1601
				/report/**=1601 
				/voa/**=1601 
				/signature/signatureView.display*=2801,2802
				/signature/signatureEdit*=2802 
				/workflow/**=3801,3802,3803,3804,3805,3806,3807,3808,3809,3810,3811  
			</value>
		</property>
	</bean>
	
	<bean id="anonymousProcessingFilter" 
		class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
		<property name="key" ref="anonymousLogonKey"/>
		<property name="userAttribute" ref="anonymousLogonUserAttribute"/>
	</bean>
	
</beans>