]> git.argeo.org Git - lgpl/argeo-commons.git/blob - security/modules/org.argeo.security.dao.ldap/META-INF/spring/security-ldap-jcr.xml
Moves Spring Security / Jackrabbit synchronization in JcrSecurityModel
[lgpl/argeo-commons.git] / security / modules / org.argeo.security.dao.ldap / META-INF / spring / security-ldap-jcr.xml
1 <beans xmlns="http://www.springframework.org/schema/beans"
2 xmlns:security="http://www.springframework.org/schema/security"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
4 xsi:schemaLocation="http://www.springframework.org/schema/beans
5 http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
6 http://www.springframework.org/schema/security
7 http://www.springframework.org/schema/security/spring-security-2.0.4.xsd
8 http://www.springframework.org/schema/util
9 http://www.springframework.org/schema/util/spring-util-2.5.xsd">
10
11 <bean id="argeoDataModel" class="org.argeo.jackrabbit.JackrabbitWrapper"
12 init-method="init" destroy-method="destroy">
13 <description><![CDATA[Make sure that Argeo base data model is registered]]></description>
14 <property name="cndFiles">
15 <list>
16 <value>/org/argeo/jcr/argeo.cnd</value>
17 </list>
18 </property>
19 <property name="repository" ref="nodeRepository" />
20 <property name="bundleContext" ref="bundleContext" />
21 </bean>
22 <bean class="org.argeo.jackrabbit.JackrabbitAuthorizations"
23 init-method="run">
24 <property name="principalPrivileges">
25 <map>
26 <entry key="jcr:all" value="ROLE_ADMIN" />
27 </map>
28 </property>
29 <property name="repository" ref="argeoDataModel" />
30 </bean>
31
32 <bean id="jcrLdapSynchronizer" class="org.argeo.security.ldap.jcr.JcrLdapSynchronizer"
33 init-method="init" destroy-method="destroy" depends-on="argeoDataModel">
34 <!-- LDAP -->
35 <property name="usernameAttribute" value="${argeo.ldap.usernameAttribute}" />
36 <property name="passwordAttribute" value="${argeo.ldap.passwordAttribute}" />
37 <property name="userClasses">
38 <list>
39 <value>${argeo.ldap.userClass}</value>
40 </list>
41 </property>
42 <property name="passwordEncoder" ref="passwordEncoder" />
43 <property name="userBase" value="${argeo.ldap.userBase}" />
44 <property name="usernameMapper" ref="usernameMapper" />
45 <property name="ldapTemplate" ref="ldapTemplate" />
46 <property name="rawLdapTemplate" ref="rawLdapTemplate" />
47 <!-- JCR -->
48 <property name="repository" ref="nodeRepository" />
49 <property name="jcrSecurityModel" ref="jcrSecurityModel" />
50 <property name="propertyToAttributes" ref="propertyToAttributes" />
51 </bean>
52
53 <bean name="jcrSecurityModel" class="org.argeo.security.jackrabbit.JackrabbitSecurityModel" />
54
55 <!-- LDAP / JCR mapping -->
56 <util:map id="propertyToAttributes">
57 <entry value="cn">
58 <key>
59 <util:constant static-field="javax.jcr.Property.JCR_TITLE" />
60 </key>
61 </entry>
62 <entry value="description">
63 <key>
64 <util:constant static-field="javax.jcr.Property.JCR_DESCRIPTION" />
65 </key>
66 </entry>
67 <entry value="givenName">
68 <key>
69 <util:constant static-field="org.argeo.jcr.ArgeoNames.ARGEO_FIRST_NAME" />
70 </key>
71 </entry>
72 <entry value="sn">
73 <key>
74 <util:constant static-field="org.argeo.jcr.ArgeoNames.ARGEO_LAST_NAME" />
75 </key>
76 </entry>
77 <entry value="mail">
78 <key>
79 <util:constant static-field="org.argeo.jcr.ArgeoNames.ARGEO_PRIMARY_EMAIL" />
80 </key>
81 </entry>
82 <entry value="o">
83 <key>
84 <util:constant static-field="org.argeo.jcr.ArgeoNames.ARGEO_PRIMARY_ORGANIZATION" />
85 </key>
86 </entry>
87 </util:map>
88 </beans>