Project

General

Profile

Download (6.61 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
    <security:http realm="SecRemoting">
77
        <security:http-basic/>
78
        <security:intercept-url pattern="/**" access="ROLE_ADMIN" requires-channel="any"/>
79
        <security:port-mappings>
80
			<security:port-mapping http="8080" https="8443"/>
81
		</security:port-mappings>
82
    </security:http>
83

    
84
    <security:authentication-manager alias="authenticationManager">
85
        <security:authentication-provider>
86
            <security:user-service id="uds">
87
                <security:user name="jimi" password="jimi"
88
                               authorities="ROLE_USER, ROLE_MANAGER" />
89
                <security:user name="bob" password="bob"
90
                               authorities="ROLE_USER,ROLE_ADMIN" />
91
                <security:user name="developer" password="developer"
92
                               authorities="ROLE_USER, ROLE_ADMIN, ROLE_MANAGER" />
93
            </security:user-service>
94
        </security:authentication-provider>
95
    </security:authentication-manager>
96

    
97
    <bean id="digestProcessingFilter"
98
          class="org.springframework.security.web.authentication.www.DigestAuthenticationFilter">
99
        <property name="userDetailsService" ref="uds" />
100
        <property name="authenticationEntryPoint" ref="digestProcessingFilterEntryPoint" />
101
    </bean>
102

    
103
    <bean id="digestProcessingFilterEntryPoint"
104
          class="org.springframework.security.web.authentication.www.DigestAuthenticationEntryPoint">
105
        <property name="realmName" value="ThisIsTheDigestRealm" />
106
        <property name="key" value="acegi" />
107
        <property name="nonceValiditySeconds" value="10" />
108
    </bean>
109

    
110
    <bean id="springSecurityFilterChain"
111
          class="org.springframework.security.web.FilterChainProxy">
112
        <security:filter-chain-map path-type="ant">
113
            <security:filter-chain pattern="/**"
114
                                   filters="httpSessionContextIntegrationFilter,digestProcessingFilter,exceptionTranslationFilter,filterSecurityInterceptor" />
115
        </security:filter-chain-map>
116
    </bean>
117

    
118
    <bean id="httpSessionContextIntegrationFilter"
119
          class="org.springframework.security.web.context.HttpSessionContextIntegrationFilter" />
120
          
121
    <bean id="accessDecisionManager" class="org.springframework.security.access.vote.UnanimousBased">
122
        <property name="decisionVoters">
123
            <list>
124
                <bean class="org.springframework.security.access.vote.RoleVoter" />
125
                <bean class="org.springframework.security.access.vote.AuthenticatedVoter" />
126
            </list>
127
        </property>
128
    </bean>
129

    
130
    <bean id="exceptionTranslationFilter"  class="org.springframework.security.web.access.ExceptionTranslationFilter">
131
        <property name="authenticationEntryPoint"
132
                  ref="digestProcessingFilterEntryPoint" />
133
    </bean>
134

    
135

    
136
</beans>
(2-2/7)