]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.security.dao.jackrabbit/META-INF/spring/security-jcr-services.xml
[maven-release-plugin] copy for tag argeo-commons-2.1.13
[lgpl/argeo-commons.git] / org.argeo.security.dao.jackrabbit / META-INF / spring / security-jcr-services.xml
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 xsi:schemaLocation="
5 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
6
7 <bean
8 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
9 <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
10 <property name="locations">
11 <value>osgibundle:security.properties</value>
12 </property>
13 </bean>
14
15 <bean id="authenticationManager"
16 class="org.springframework.security.authentication.ProviderManager">
17 <property name="providers">
18 <list>
19 <ref bean="authByAdapterProvider" />
20 <ref bean="anonymousAuthenticationProvider" />
21 <ref bean="userDetailsManager" />
22 </list>
23 </property>
24 </bean>
25
26 <!-- Authentication providers -->
27 <bean id="authByAdapterProvider" class="org.argeo.security.core.InternalAuthenticationProvider">
28 <property name="key" value="${argeo.security.systemKey}" />
29 </bean>
30
31 <bean id="anonymousAuthenticationProvider"
32 class="org.springframework.security.authentication.AnonymousAuthenticationProvider">
33 <description><![CDATA[Anonymous authentication]]></description>
34 <property name="key" value="${argeo.security.systemKey}" />
35 </bean>
36
37 <!-- User manager -->
38 <bean id="userDetailsManager"
39 class="org.argeo.security.jcr.jackrabbit.JackrabbitUserAdminService"
40 init-method="init" destroy-method="destroy" depends-on="systemInit">
41 <property name="repository" ref="nodeRepository" />
42 <property name="securityModel" ref="jcrSecurityModel" />
43 </bean>
44
45 <bean name="jcrSecurityModel" class="org.argeo.security.jcr.SimpleJcrSecurityModel"
46 depends-on="argeoDataModel" />
47
48 <bean id="argeoDataModel" class="org.argeo.jackrabbit.JackrabbitWrapper"
49 init-method="init" destroy-method="destroy">
50 <description><![CDATA[Make sure that Argeo base data model is registered]]></description>
51 <property name="cndFiles">
52 <list>
53 <value>/org/argeo/jcr/argeo.cnd</value>
54 </list>
55 </property>
56 <property name="repository" ref="nodeRepository" />
57 <property name="bundleContext" ref="bundleContext" />
58 </bean>
59
60 <!-- Internal authentication, used by during the general authentication
61 initialization himself, in order to prevent the following dependency cycle:
62 Repository.login() <= AuthenticationManager <= JackrabbitUserAdminService
63 <= Repository.login() in init() -->
64 <bean id="internalAuthenticationManager"
65 class="org.springframework.security.authentication.ProviderManager">
66 <property name="providers">
67 <list>
68 <ref bean="authByAdapterProvider" />
69 </list>
70 </property>
71 </bean>
72
73 <bean id="systemInit"
74 class="org.argeo.security.core.AuthenticatedApplicationContextInitialization">
75 <description><![CDATA[Executes initialization with a system authentication]]></description>
76 <property name="authenticationManager" ref="internalAuthenticationManager" />
77 <property name="systemAuthenticationKey" value="${argeo.security.systemKey}" />
78 </bean>
79
80 </beans>