]> git.argeo.org Git - lgpl/argeo-commons.git/blob - security/modules/org.argeo.security.dao.ldap/META-INF/spring/ldap.xml
Prepare v0.3.2-SNAPSHOT dev cycle
[lgpl/argeo-commons.git] / security / modules / org.argeo.security.dao.ldap / META-INF / spring / ldap.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"
4 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
5 http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">
6
7 <!-- COMMON -->
8 <bean
9 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
10 <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
11 <property name="locations">
12 <value>osgibundle:ldap.properties</value>
13 </property>
14 </bean>
15
16 <bean id="passwordEncoder" class="org.argeo.security.ldap.ArgeoLdapShaPasswordEncoder">
17 <property name="useSalt" value="${argeo.ldap.password.useSalt}" />
18 </bean>
19
20 <bean id="contextSource"
21 class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
22 <constructor-arg
23 value="${argeo.ldap.protocol}://${argeo.ldap.host}:${argeo.ldap.port}/${argeo.ldap.rootdn}" />
24 <property name="userDn" value="${argeo.ldap.manager.userdn}" />
25 <property name="password" value="${argeo.ldap.manager.password}" />
26 </bean>
27
28 <!-- AUTHENTICATION -->
29 <bean id="ldapAuthenticationProvider"
30 class="org.springframework.security.providers.ldap.LdapAuthenticationProvider">
31 <constructor-arg ref="ldapAuthenticator" />
32 <constructor-arg ref="authoritiesPopulator" />
33 <property name="userDetailsContextMapper" ref="jcrUserDetailsContextMapper" />
34 </bean>
35
36 <bean id="ldapAuthenticator"
37 class="org.springframework.security.providers.ldap.authenticator.BindAuthenticator">
38 <constructor-arg ref="contextSource" />
39 <property name="userDnPatterns">
40 <list>
41 <value><![CDATA[${argeo.ldap.usernameAttribute}={0},${argeo.ldap.userBase}]]></value>
42 </list>
43 </property>
44 </bean>
45
46 <!-- DOESN'T WORK WITH SSHA -->
47 <!-- <bean id="passwordComparisonAuthenticator" -->
48 <!-- class="org.springframework.security.providers.ldap.authenticator.PasswordComparisonAuthenticator"> -->
49 <!-- <constructor-arg ref="contextSource" /> -->
50 <!-- <property name="userDnPatterns"> -->
51 <!-- <list> -->
52 <!-- <value><![CDATA[${argeo.ldap.usernameAttribute}={0},${argeo.ldap.userBase}]]></value> -->
53 <!-- </list> -->
54 <!-- </property> -->
55 <!-- <property name="passwordAttributeName" value="${argeo.ldap.passwordAttribute}"
56 /> -->
57 <!-- <property name="passwordEncoder" ref="passwordEncoder" /> -->
58 <!-- </bean> -->
59
60 <!-- USER DETAILS -->
61 <bean id="userAdminDao" class="org.argeo.security.ldap.ArgeoSecurityDaoLdap">
62 <constructor-arg ref="contextSource" />
63 <property name="userBase" value="${argeo.ldap.userBase}" />
64 <property name="usernameAttribute" value="${argeo.ldap.usernameAttribute}" />
65 <property name="groupClasses">
66 <list>
67 <value>top</value>
68 <value>${argeo.ldap.groupClass}</value>
69 </list>
70 </property>
71 <property name="groupBase" value="${argeo.ldap.groupBase}" />
72 <property name="groupRoleAttribute" value="${argeo.ldap.groupRoleAttribute}" />
73 <property name="groupMemberAttribute" value="${argeo.ldap.groupMemberAttribute}" />
74 <property name="defaultRole" value="${argeo.security.defaultRole}" />
75 <property name="rolePrefix" value="${argeo.security.rolePrefix}" />
76 <property name="usernameMapper" ref="usernameMapper" />
77 </bean>
78
79 <bean id="usernameMapper"
80 class="org.springframework.security.ldap.DefaultLdapUsernameToDnMapper">
81 <constructor-arg value="${argeo.ldap.userBase}" />
82 <constructor-arg value="${argeo.ldap.usernameAttribute}" />
83 </bean>
84
85 <bean id="authoritiesPopulator"
86 class="org.springframework.security.ldap.populator.DefaultLdapAuthoritiesPopulator">
87 <constructor-arg ref="contextSource" />
88 <constructor-arg value="${argeo.ldap.groupBase}" />
89 <property name="groupSearchFilter" value="${argeo.ldap.groupMemberAttribute}={0}" />
90 <property name="defaultRole" value="${argeo.security.defaultRole}" />
91 <property name="rolePrefix" value="${argeo.security.rolePrefix}" />
92 </bean>
93
94 <bean id="userDetailsManager" class="org.argeo.security.ldap.ArgeoLdapUserDetailsManager">
95 <constructor-arg ref="contextSource" />
96 <property name="groupSearchBase" value="${argeo.ldap.groupBase}" />
97 <property name="groupMemberAttributeName" value="${argeo.ldap.groupMemberAttribute}" />
98 <property name="usernameMapper" ref="usernameMapper" />
99 <property name="userDetailsMapper" ref="jcrUserDetailsContextMapper" />
100 <property name="userAdminDao" ref="userAdminDao" />
101 <property name="passwordEncoder" ref="passwordEncoder" />
102 <property name="passwordAttributeName" value="${argeo.ldap.passwordAttribute}" />
103 </bean>
104 </beans>