Project

General

Profile

Download (7.13 KB) Statistics
| Branch: | Tag: | Revision:
1
<?xml version="1.0" encoding="UTF-8"?>
2
<beans xmlns="http://www.springframework.org/schema/beans"
3
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
    xmlns:tx="http://www.springframework.org/schema/tx"
5
    xmlns:context="http://www.springframework.org/schema/context"
6
    xmlns:security="http://www.springframework.org/schema/security"
7
    xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
8
    http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context-2.5.xsd
9
    http://www.springframework.org/schema/tx   http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
10
    http://www.springframework.org/schema/security   http://www.springframework.org/schema/security/spring-security-3.0.xsd
11
    ">
12
       
13
   <!-- include default application context and customization -->
14
    <import resource="classpath:/eu/etaxonomy/cdm/defaultApplicationContext.xml"/>
15
    <bean id="persistentTermInitializer" class="eu.etaxonomy.cdm.database.PersistentTermInitializer">
16
       <property name="omit" value="false" />
17
    </bean>
18
   <context:component-scan base-package="eu/etaxonomy/cdm/ext" />
19
   
20
   <import resource="classpath:/eu/etaxonomy/cdm/remote.xml"/>
21
    
22
    <context:component-scan base-package="eu/etaxonomy/cdm/io">
23
        <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.io\.pesi.*" />
24
        <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.io\.faunaEuropaea.*" />
25
        <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.io\.erms.*" />
26
        <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.io\.eflora.*" />
27
        <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.io\.berlinModel.*" />
28
    </context:component-scan>
29
    
30
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
31
		<property name="properties">
32
		  <props>
33
		      <prop key="eu.etaxonomy.cdm.base.path">${user.home}/.cdmLibrary/</prop>
34
		      <prop key="eu.etaxonomy.cdm.search.index.path">${user.home}/.cdmLibrary/index/</prop>
35
		      <prop key="eu.etaxonomy.cdm.ehcache.diskstore.path">${user.home}/.cdmLibrary/ehcache</prop>
36
		  </props>
37
        </property>
38
	</bean>
39
 
40
    <!-- enable the configuration of transactional behavior based on annotations -->
41
    <tx:annotation-driven transaction-manager="transactionManager"/>
42
    
43
    <!-- import additional beans into the root context -->
44
    <import resource="applicationContext.views.xml"/>
45
    
46
    <!-- CONFIGURE WEB APPLICATION HERE -->
47
    <import resource="datasources/configurable.xml" />
48
    
49
    <context:annotation-config/>
50
    <bean class="eu.etaxonomy.cdm.remote.config.LoggingConfigurer">
51
    </bean>
52
    
53
     <!-- OAI-PMH TODO externalize? -->
54
     <bean name="taxonOaiPmhController" class="eu.etaxonomy.cdm.remote.controller.oaipmh.TaxonOaiPmhController">
55
	   <property name="cachingModel" ref="taxonOaiPmhCacheMapping"/>
56
	 </bean>
57
	
58
	<bean name="taxonOaiPmhCacheMapping" class="org.springmodules.cache.provider.ehcache.EhCacheCachingModel">
59
	        <property name="cacheName" value="eu.etaxonomy.cdm.remote.controller.TaxonOaiPmhController.resumptionToken"/>
60
	</bean>
61
	<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
62
    <property name="configLocation" value="classpath:/eu/etaxonomy/cdm/remote/ehcache.xml" />
63
        <property name="shared" value="true"/>
64
    </bean>
65

    
66
	<bean id="serializableFactory" class="org.springmodules.cache.serializable.XStreamSerializableFactory"/>
67
	
68
	<bean id="cacheProviderFacade" class="org.springmodules.cache.provider.ehcache.EhCacheFacade">
69
	    <property name="cacheManager" ref="cacheManager" />
70
	    <property name="serializableFactory" ref="serializableFactory"/>
71
	</bean>
72

    
73
	<!--  
74
    ======= Security ======= 
75
    -->
76
    
77
    <security:global-method-security secured-annotations="enabled" />
78
    
79
    <security:http realm="SecRemoting" use-expressions="true">
80
        <security:http-basic/>
81
        <security:intercept-url pattern="/**" access="isAuthenticated()" requires-channel="any"/>
82
        <!-- <security:intercept-url pattern="/security.service" access="isAuthenticated()" requires-channel="any"/> -->
83
        <!-- <security:intercept-url pattern="/**" access="hasRole('ROLE_USER1')" requires-channel="any"/> -->
84
        <security:port-mappings>
85
			<security:port-mapping http="8080" https="8443"/>
86
		</security:port-mappings>
87
    </security:http>
88

    
89
    <security:authentication-manager alias="authenticationManager">
90
        <security:authentication-provider user-service-ref="userService">
91
        	<security:password-encoder ref="passwordEncoder">
92
        		<security:salt-source ref="saltSource" />
93
        	</security:password-encoder>
94
        </security:authentication-provider>
95
    </security:authentication-manager>
96

    
97
    <bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>
98
    
99
    <bean id="saltSource" class="org.springframework.security.authentication.dao.ReflectionSaltSource">
100
        <property name="userPropertyToUse" value="getUsername"/>
101
    </bean>
102

    
103
    <bean id="digestProcessingFilter"
104
          class="org.springframework.security.web.authentication.www.DigestAuthenticationFilter">
105
        <property name="userDetailsService" ref="userService" />
106
        <property name="authenticationEntryPoint" ref="digestProcessingFilterEntryPoint" />
107
    </bean>
108

    
109
    <bean id="digestProcessingFilterEntryPoint"
110
          class="org.springframework.security.web.authentication.www.DigestAuthenticationEntryPoint">
111
        <property name="realmName" value="ThisIsTheDigestRealm" />
112
        <property name="key" value="acegi" />
113
        <property name="nonceValiditySeconds" value="10" />
114
    </bean>
115

    
116
    <bean id="springSecurityFilterChain"
117
          class="org.springframework.security.web.FilterChainProxy">
118
        <security:filter-chain-map path-type="ant">
119
            <security:filter-chain pattern="/**"
120
                                   filters="securityContextPersistenceFilter,httpSessionContextIntegrationFilter,
121
                                   digestProcessingFilter,exceptionTranslationFilter,filterSecurityInterceptor" />
122
        </security:filter-chain-map>
123
    </bean>
124

    
125
    <bean id="httpSessionContextIntegrationFilter"
126
          class="org.springframework.security.web.context.HttpSessionContextIntegrationFilter" />
127
          
128
    <bean id="accessDecisionManager" class="org.springframework.security.access.vote.UnanimousBased">
129
        <property name="decisionVoters">
130
            <list>
131
                <bean class="org.springframework.security.access.vote.RoleVoter" />
132
                <bean class="org.springframework.security.access.vote.AuthenticatedVoter" />
133
            </list>
134
        </property>
135
    </bean>
136

    
137
    <bean id="exceptionTranslationFilter"  class="org.springframework.security.web.access.ExceptionTranslationFilter">
138
        <property name="authenticationEntryPoint"
139
                  ref="digestProcessingFilterEntryPoint" />
140
    </bean>
141

    
142
	<bean id="securityContextPersistenceFilter" class="org.springframework.security.web.context.SecurityContextPersistenceFilter"/>
143
	
144
</beans>
(2-2/7)