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

	<bean id="filterChainProxy"
		class="org.acegisecurity.util.FilterChainProxy">
		<property name="filterInvocationDefinitionSource">
			<value>
				CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
				PATTERN_TYPE_APACHE_ANT
				/**=channelProcessingFilter,httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
			</value>
		</property>
	</bean>

	<bean id="httpSessionContextIntegrationFilter"
		class="org.acegisecurity.context.HttpSessionContextIntegrationFilter" />

	<bean id="logoutFilter"
		class="org.acegisecurity.ui.logout.LogoutFilter">
		<constructor-arg value="/index.jsp" />
		<!-- URL redirected to after logout -->
		<constructor-arg>
			<list>
				<bean
					class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler" />
			</list>
		</constructor-arg>
	</bean>

	<bean id="authenticationProcessingFilter"
		class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
		<property name="authenticationManager"
			ref="authenticationManager" />
		<property name="authenticationFailureUrl"
			value="/login.jsp" />
		<property name="defaultTargetUrl" value="/" />
		<property name="filterProcessesUrl"
			value="/j_acegi_security_check" />
	</bean>

	<bean id="securityContextHolderAwareRequestFilter"
		class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter" />

	<bean id="anonymousProcessingFilter"
		class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
		<property name="key" value="anonymousAuthKey" />
		<property name="userAttribute"
			value="anonymousUser,ROLE_ANONYMOUS" />
	</bean>

	<bean id="exceptionTranslationFilter"
		class="org.acegisecurity.ui.ExceptionTranslationFilter">
		<property name="authenticationEntryPoint">
			<bean
				class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
				<property name="loginFormUrl" value="/login.jsp" />
				<property name="forceHttps" value="false" />
			</bean>
		</property>
		<property name="accessDeniedHandler">
			<bean
				class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
				<property name="errorPage" value="/accessDenied.jsp" />
			</bean>
		</property>
	</bean>

	<bean id="filterInvocationInterceptor"
		class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
		<property name="authenticationManager"
			ref="authenticationManager" />
		<property name="accessDecisionManager">
			<bean class="org.acegisecurity.vote.AffirmativeBased">
				<property name="allowIfAllAbstainDecisions"
					value="false" />
				<property name="decisionVoters">
					<list>
						<bean class="org.acegisecurity.vote.RoleVoter" />
						<bean
							class="org.acegisecurity.vote.AuthenticatedVoter" />
					</list>
				</property>
			</bean>
		</property>
		<property name="objectDefinitionSource">
			<value>
				CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
				\A/public/.*\Z=IS_AUTHENTICATED_ANONYMOUSLY
				\A/pages/participant/create.*\Z=ROLE_caaers_super_user,ROLE_caaers_participant_coordinator
				\A/pages/participant/view.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/participant/assign.*\Z=ROLE_caaers_super_user,ROLE_caaers_participant_coordinator
				\A/pages/study/create.*\Z=ROLE_caaers_super_user,ROLE_caaers_study_coordinator
				\A/pages/study/view.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/study/search.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/study/edit.*\Z=ROLE_caaers_super_user,ROLE_caaers_study_coordinator
				\A/pages/ae/create.*\Z=ROLE_caaers_super_user,ROLE_caaers_participant_coordinator
				\A/pages/ae/edit.*\Z=ROLE_caaers_super_user,ROLE_caaers_participant_coordinator
				\A/pages/ae/list.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/report.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/admin.*\Z=ROLE_caaers_admin
				\A/pages.*\Z=ROLE_caaers_user
			</value>
		</property>
	</bean>

	<bean id="authenticationManager"
		class="org.acegisecurity.providers.ProviderManager">
		<property name="providers">
			<list>
				<ref local="csmAuthenticationProvider" />
				
				<bean class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
					<property name="key" value="anonymousAuthKey"/>
				</bean>				
			</list>
		</property>
	</bean>

	<bean id="csmAuthenticationProvider"
		class="gov.nih.nci.security.acegi.csm.authentication.CSMAuthenticationProvider"><commit_msg>Updated URL expresions<commit_after><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

	<bean id="filterChainProxy"
		class="org.acegisecurity.util.FilterChainProxy">
		<property name="filterInvocationDefinitionSource">
			<value>
				CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
				PATTERN_TYPE_APACHE_ANT
				/**=channelProcessingFilter,httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
			</value>
		</property>
	</bean>

	<bean id="httpSessionContextIntegrationFilter"
		class="org.acegisecurity.context.HttpSessionContextIntegrationFilter" />

	<bean id="logoutFilter"
		class="org.acegisecurity.ui.logout.LogoutFilter">
		<constructor-arg value="/index.jsp" />
		<!-- URL redirected to after logout -->
		<constructor-arg>
			<list>
				<bean
					class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler" />
			</list>
		</constructor-arg>
	</bean>

	<bean id="authenticationProcessingFilter"
		class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
		<property name="authenticationManager"
			ref="authenticationManager" />
		<property name="authenticationFailureUrl"
			value="/login.jsp" />
		<property name="defaultTargetUrl" value="/" />
		<property name="filterProcessesUrl"
			value="/j_acegi_security_check" />
	</bean>

	<bean id="securityContextHolderAwareRequestFilter"
		class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter" />

	<bean id="anonymousProcessingFilter"
		class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
		<property name="key" value="anonymousAuthKey" />
		<property name="userAttribute"
			value="anonymousUser,ROLE_ANONYMOUS" />
	</bean>

	<bean id="exceptionTranslationFilter"
		class="org.acegisecurity.ui.ExceptionTranslationFilter">
		<property name="authenticationEntryPoint">
			<bean
				class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
				<property name="loginFormUrl" value="/login.jsp" />
				<property name="forceHttps" value="false" />
			</bean>
		</property>
		<property name="accessDeniedHandler">
			<bean
				class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
				<property name="errorPage" value="/accessDenied.jsp" />
			</bean>
		</property>
	</bean>

	<bean id="filterInvocationInterceptor"
		class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
		<property name="authenticationManager"
			ref="authenticationManager" />
		<property name="accessDecisionManager">
			<bean class="org.acegisecurity.vote.AffirmativeBased">
				<property name="allowIfAllAbstainDecisions"
					value="false" />
				<property name="decisionVoters">
					<list>
						<bean class="org.acegisecurity.vote.RoleVoter" />
						<bean
							class="org.acegisecurity.vote.AuthenticatedVoter" />
					</list>
				</property>
			</bean>
		</property>
		<property name="objectDefinitionSource">
			<value>
				CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
				\A/public/.*\Z=IS_AUTHENTICATED_ANONYMOUSLY
				\A/pages/participant/create.*\Z=ROLE_caaers_super_user,ROLE_caaers_participant_cd
				\A/pages/participant/view.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/participant/assign.*\Z=ROLE_caaers_super_user,ROLE_caaers_participant_cd
				\A/pages/study/create.*\Z=ROLE_caaers_super_user,ROLE_caaers_study_cd
				\A/pages/study/view.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/study/search.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/study/edit.*\Z=ROLE_caaers_super_user,ROLE_caaers_study_cd
				\A/pages/ae/create.*\Z=ROLE_caaers_super_user,ROLE_caaers_participant_cd
				\A/pages/ae/edit.*\Z=ROLE_caaers_super_user,ROLE_caaers_participant_cd
				\A/pages/ae/list.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/report.*\Z=ROLE_caaers_super_user,ROLE_caaers_user
				\A/pages/admin.*\Z=ROLE_caaers_admin
				\A/pages.*\Z=ROLE_caaers_user
			</value>
		</property>
	</bean>

	<bean id="authenticationManager"
		class="org.acegisecurity.providers.ProviderManager">
		<property name="providers">
			<list>
				<ref local="csmAuthenticationProvider" />
				
				<bean class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
					<property name="key" value="anonymousAuthKey"/>
				</bean>				
			</list>
		</property>
	</bean>

	<bean id="csmAuthenticationProvider"
		class="gov.nih.nci.security.acegi.csm.authentication.CSMAuthenticationProvider">
{'fraction_non_alphanumeric': 0.13206527612666163, 'fraction_numerical': 0.0006484383443207608, 'mean_word_length': 5.395300621976503, 'pattern_counts': {'":': 0, '<': 147, '<?xml version=': 2, '>': 147, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3525171', 'n_tokens_mistral': 3666, 'n_tokens_neox': 3183, 'n_words': 323}