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=
"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
7 class=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
8 <property name=
"systemPropertiesModeName" value=
"SYSTEM_PROPERTIES_MODE_OVERRIDE" />
9 <property name=
"locations">
10 <value>osgibundle:security.properties
</value>
14 <bean id=
"argeoDataModel" class=
"org.argeo.jackrabbit.JackrabbitWrapper"
15 init-method=
"init" destroy-method=
"destroy">
16 <description><![CDATA[Make sure that Argeo base data model is registered]]
></description>
17 <property name=
"cndFiles">
19 <value>/org/argeo/jcr/argeo.cnd
</value>
22 <property name=
"repository" ref=
"nodeRepository" />
23 <property name=
"bundleContext" ref=
"bundleContext" />
26 <bean id=
"authenticationManager"
27 class=
"org.springframework.security.authentication.ProviderManager">
28 <property name=
"providers">
30 <ref bean=
"authByAdapterProvider" />
31 <ref bean=
"osJcrAuthenticationProvider" />
36 <!-- Authentication providers -->
37 <bean id=
"osJcrAuthenticationProvider" class=
"org.argeo.security.jcr.OsJcrAuthenticationProvider"
38 init-method=
"init" destroy-method=
"destroy" depends-on=
"argeoDataModel">
39 <property name=
"repository" ref=
"nodeRepository" />
40 <property name=
"jcrSecurityModel" ref=
"jcrSecurityModel" />
43 <bean name=
"jcrSecurityModel" class=
"org.argeo.security.jackrabbit.JackrabbitSecurityModel" />
45 <bean id=
"authByAdapterProvider" class=
"org.argeo.security.core.InternalAuthenticationProvider">
46 <description><![CDATA[System authentication]]
></description>
47 <property name=
"key" value=
"${argeo.security.systemKey}" />
50 <!-- Internal authentication, used by the general authentication process
51 himself, in order to prevent the following dependency cycle: Repository.login()
52 <= AuthenticationManager <= osJcrAuthenticationProvider <= Repository.login()
54 <bean id=
"internalAuthenticationManager"
55 class=
"org.springframework.security.authentication.ProviderManager">
56 <property name=
"providers">
58 <ref bean=
"authByAdapterProvider" />
64 class=
"org.argeo.security.core.AuthenticatedApplicationContextInitialization">
65 <description><![CDATA[Executes initialization with a system authentication]]
></description>
66 <property name=
"authenticationManager" ref=
"internalAuthenticationManager" />
69 <!-- Dummy user manager -->
70 <bean id=
"userDetailsManager" class=
"org.argeo.security.jcr.OsJcrUserAdminService"
71 init-method=
"init" destroy-method=
"destroy">
72 <property name=
"repository" ref=
"nodeRepository" />
75 <!-- Default callback handler and keyring -->
76 <bean id=
"defaultCallbackHandler" class=
"org.argeo.security.core.ConsoleCallbackHandler" />
78 <bean id=
"nodeSession" class=
"org.argeo.jcr.spring.ThreadBoundSession">
79 <property name=
"repository" ref=
"nodeRepository" />
82 <bean id=
"keyring" class=
"org.argeo.security.jcr.JcrKeyring">
83 <property name=
"session" ref=
"nodeSession" />
84 <property name=
"defaultCallbackHandler" ref=
"defaultCallbackHandler" />
85 <property name=
"secreteKeyLength" value=
"${argeo.keyring.secreteKeyLength}" />