Hello!

Can somebody provide simple example of ldap to sql users replication?

This is my unsuccesful trying:

lsc.properties:

src.java.naming.provider.url = ldap://ldap.xxxx,xxx/dc=xxxx,dc=xxx
src.java.naming.security.authentication = none
src.java.naming.referral = ignore
src.java.naming.ldap.derefAliases = never
src.java.naming.factory.initial = com.sun.jndi.ldap.LdapCtxFactory
src.java.naming.ldap.version = 3

lsc.tasks = user
lsc.tasks.user.srcService = org.lsc.jndi.SimpleJndiSrcService
lsc.tasks.user.srcService.baseDn = ou=people,ou=xxxx
lsc.tasks.user.srcService.filterAll = (&(uid=*)(objectClass=inetOrgPerson))
lsc.tasks.user.srcService.pivotAttrs = uid
lsc.tasks.user.srcService.filterId = (&(objectClass=inetOrgPerson)(uid={uid}))
lsc.tasks.user.srcService.attrs = uid

lsc.tasks.user.dstService =  org.lsc.service.SimpleJdbcSrcService
lsc.tasks.user.dstService.requestNameForList = getAllAliases
lsc.tasks.user.dstService.requestNameForObject = getAliasRecord
lsc.tasks.user.dstService.url = jdbc:mysql://mysql-host/db
lsc.tasks.user.dstService.username = user
lsc.tasks.user.dstService.password = pass

lsc.syncoptions.MyTask = org.lsc.beans.syncoptions.PropertiesBasedSyncOptions
lsc.syncoptions.MyTask.default.action = F
lsc.syncoptions.MyTask.objectClass.create_value = "uid"
lsc.syncoptions.MyTask.uid.force_value = srcBean.getAttributeValuesById("uid")


[awasilyev@ldap test]$ cat sql-map-config.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd";;>
<sqlMapConfig>
<transactionManager type="JDBC">
<dataSource type="SIMPLE">
<property value="${driver}" name="JDBC.Driver" />
<property value="${url}" name="JDBC.ConnectionURL" />
<property value="${username}" name="JDBC.Username"/>
<property value="${password}" name="JDBC.Password"/>
<property value="15" name="Pool.MaximumActiveConnections"/>
<property value="15" name="Pool.MaximumIdleConnections"/>
<property value="1000" name="Pool.MaximumWait"/>
</dataSource>
</transactionManager>
<sqlMap url="file:///${lsc.config}/sql-map-config.d/nova.xml"/>
</sqlMapConfig>

[awasilyev@ldap test]$ cat sql-map-config.d/nova.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd";;>

<sqlMap namespace="nova">

<select id="getAllAliases" resultMap="java.util.HashMap">
      SELECT id
          FROM users
</select>

<select id="getAliasRecord" resultMap="java.util.HashMap"
  parameterClass="java.util.Map">
      SELECT id as uid
          FROM users
              WHERE id = #id#
</select>

</sqlMap>

and i get:
[awasilyev@ldap test]$ /opt/lsc/bin/lsc -nd -s all -c all -f /opt/lsc/test/
Dec 05 18:15:33 - ERROR - java.lang.RuntimeException: No value specified in task user for bean! Aborting. Last log file line: Dec 05 18:15:33 - ERROR - java.lang.RuntimeException: No value specified in task user for bean! Aborting.

--
Alexey Wasilyev
Systems Administrator
Grid Dynamics

_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

lsc-users mailing list
[email protected]
http://lists.lsc-project.org/listinfo/lsc-users

Reply via email to