]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.security.dao.ldap/META-INF/spring/security-ldap-jcr.xml
Move to the root the bundles which will be part of v1.4 and v2.2
[lgpl/argeo-commons.git] / org.argeo.security.dao.ldap / META-INF / spring / security-ldap-jcr.xml
diff --git a/org.argeo.security.dao.ldap/META-INF/spring/security-ldap-jcr.xml b/org.argeo.security.dao.ldap/META-INF/spring/security-ldap-jcr.xml
new file mode 100644 (file)
index 0000000..3235e66
--- /dev/null
@@ -0,0 +1,79 @@
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:security="http://www.springframework.org/schema/security"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+               http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+               http://www.springframework.org/schema/security
+               http://www.springframework.org/schema/security/spring-security-2.0.4.xsd
+               http://www.springframework.org/schema/util
+               http://www.springframework.org/schema/util/spring-util-2.5.xsd">
+
+       <bean id="argeoDataModel" class="org.argeo.jackrabbit.JackrabbitWrapper"
+               init-method="init" destroy-method="destroy">
+               <description><![CDATA[Make sure that Argeo base data model is registered]]></description>
+               <property name="cndFiles">
+                       <list>
+                               <value>/org/argeo/jcr/argeo.cnd</value>
+                       </list>
+               </property>
+               <property name="repository" ref="nodeRepository" />
+               <property name="bundleContext" ref="bundleContext" />
+       </bean>
+
+       <bean id="jcrLdapSynchronizer" class="org.argeo.security.ldap.jcr.JcrLdapSynchronizer"
+               init-method="init" destroy-method="destroy" depends-on="argeoDataModel">
+               <!-- LDAP -->
+               <property name="usernameAttribute" value="${argeo.ldap.usernameAttribute}" />
+               <property name="passwordAttribute" value="${argeo.ldap.passwordAttribute}" />
+               <property name="userClasses">
+                       <list>
+                               <value>${argeo.ldap.userClass}</value>
+                       </list>
+               </property>
+               <property name="passwordEncoder" ref="passwordEncoder" />
+               <property name="userBase" value="${argeo.ldap.userBase}" />
+               <property name="usernameMapper" ref="usernameMapper" />
+               <property name="ldapTemplate" ref="ldapTemplate" />
+               <property name="rawLdapTemplate" ref="rawLdapTemplate" />
+               <!-- JCR -->
+               <property name="repository" ref="nodeRepository" />
+               <property name="jcrSecurityModel" ref="jcrSecurityModel" />
+               <property name="propertyToAttributes" ref="propertyToAttributes" />
+       </bean>
+
+       <bean name="jcrSecurityModel" class="org.argeo.security.jackrabbit.JackrabbitSecurityModel" />
+
+       <!-- LDAP / JCR mapping -->
+       <util:map id="propertyToAttributes">
+               <entry value="cn">
+                       <key>
+                               <util:constant static-field="javax.jcr.Property.JCR_TITLE" />
+                       </key>
+               </entry>
+               <entry value="description">
+                       <key>
+                               <util:constant static-field="javax.jcr.Property.JCR_DESCRIPTION" />
+                       </key>
+               </entry>
+               <entry value="givenName">
+                       <key>
+                               <util:constant static-field="org.argeo.jcr.ArgeoNames.ARGEO_FIRST_NAME" />
+                       </key>
+               </entry>
+               <entry value="sn">
+                       <key>
+                               <util:constant static-field="org.argeo.jcr.ArgeoNames.ARGEO_LAST_NAME" />
+                       </key>
+               </entry>
+               <entry value="mail">
+                       <key>
+                               <util:constant static-field="org.argeo.jcr.ArgeoNames.ARGEO_PRIMARY_EMAIL" />
+                       </key>
+               </entry>
+               <entry value="o">
+                       <key>
+                               <util:constant static-field="org.argeo.jcr.ArgeoNames.ARGEO_PRIMARY_ORGANIZATION" />
+                       </key>
+               </entry>
+       </util:map>
+</beans>