LDAP authentication
[lgpl/argeo-commons.git] / security / modules / org.argeo.security.webapp / WEB-INF / ldap.xml
diff --git a/security/modules/org.argeo.security.webapp/WEB-INF/ldap.xml b/security/modules/org.argeo.security.webapp/WEB-INF/ldap.xml
new file mode 100644 (file)
index 0000000..eab6c3a
--- /dev/null
@@ -0,0 +1,49 @@
+<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"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+              http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">
+       <security:ldap-server url="ldap://localhost:389/dc=argeo,dc=org"
+               manager-dn="cn=Manager,dc=argeo,dc=org" manager-password="secret" />
+       <security:ldap-authentication-provider
+               user-dn-pattern="uid={0},ou=users" group-search-base="ou=groups">
+               <security:password-compare hash="{sha}" />
+       </security:ldap-authentication-provider>
+  
+  <!-- 
+       <bean id="contextSource"
+               class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
+               <constructor-arg value="ldap://localhost:389/dc=argeo,dc=org" />
+               <property name="userDn" value="cn=Manager,dc=argeo,dc=org" />
+               <property name="password" value="secret" />
+       </bean>
+       
+       <bean id="ldapAuthProvider"
+               class="org.springframework.security.providers.ldap.LdapAuthenticationProvider">
+               <constructor-arg>
+                       <bean
+                               class="org.springframework.security.providers.ldap.authenticator.PasswordComparisonAuthenticator">
+                               <constructor-arg ref="contextSource" />
+                               <property name="userDnPatterns">
+                                       <list>
+                                               <value>uid={0},ou=users</value>
+                                       </list>
+                               </property>
+                               <property name="passwordEncoder">
+                                       <bean
+                                               class="org.springframework.security.providers.ldap.authenticator.LdapShaPasswordEncoder"></bean>
+                               </property>
+                       </bean>
+               </constructor-arg>
+               <constructor-arg>
+                       <bean
+                               class="org.springframework.security.ldap.populator.DefaultLdapAuthoritiesPopulator">
+                               <constructor-arg ref="contextSource" />
+                               <constructor-arg value="ou=groups" />
+                               <property name="groupRoleAttribute" value="ou" />
+                       </bean>
+               </constructor-arg>
+       </bean>
+       
+        -->
+</beans>