Project

General

Profile

Download (3.03 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:context="http://www.springframework.org/schema/context"
5
  xmlns:security="http://www.springframework.org/schema/security"
6
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
7
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
8
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
9
    http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd"
10
    >
11

    
12
    <import resource="classpath:/eu/etaxonomy/cdm/remoting_persistence_security.xml"/>
13
    <!--
14
        ======================================================================
15
          security specific configuration
16
        ======================================================================
17
     -->
18
    <security:global-method-security pre-post-annotations="enabled" run-as-manager-ref="runAsManager" >
19
        <security:expression-handler ref="expressionHandler" />
20
    </security:global-method-security>
21

    
22
    <!--
23
        To use "hasPermission()" in the Spring EL method annotations like @PreAuthorize we explicitly configure the permissionEvaluator
24
        the cdmPermissionEvaluator is already defined in the persistence security context
25
    -->
26
    <bean id="expressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
27
        <property name="permissionEvaluator" ref="cdmPermissionEvaluator" />
28
    </bean>
29

    
30
    <bean id="authenticationManager" class="org.springframework.security.authentication.ProviderManager">
31
        <property name="providers">
32
            <list>
33
                <ref local="daoAuthenticationProvider"/>
34
            </list>
35
        </property>
36
    </bean>
37

    
38
    <bean id="daoAuthenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
39
        <property name="userDetailsService" ref="userService"/>
40
        <property name="saltSource" ref="saltSource"/>
41
        <property name="passwordEncoder" ref="passwordEncoder"/>
42
    </bean>
43

    
44
    <bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>
45

    
46
    <bean id="saltSource" class="org.springframework.security.authentication.dao.ReflectionSaltSource">
47
        <property name="userPropertyToUse" value="getUsername"/>
48
    </bean>
49

    
50
    <!--
51
        Run-As Authentication Replacement for system operations
52
        as e.g. performed by the eu.etaxonomy.cdm.api.application.FirstDataInserter
53

    
54
        the key must match FirstDataInserter.RUN_AS_KEY
55
     -->
56
    <bean id="runAsManager"
57
        class="org.springframework.security.access.intercept.RunAsManagerImpl">
58
      <property name="key" value="TtlCx3pgKC4l"/>
59
    </bean>
60

    
61

    
62
</beans>
(6-6/6)