Issue #641 has been updated by Martin H.

What about to warn the user if the variable {var} is not valid/defined/empty in 
the filter (rather than putting {var} in the search string as is)
----------------------------------------
Bug #641: getOneFilter / {var} is not replaced in the search string
http://tools.lsc-project.org/issues/641

Author: Martin H
Status: Closed
Priority: Normal
Assigned to: Clément OUDOT
Category: Documentation
Target version: 
Problem in version: 2.0.3


I am using LSC 2.0.3 / OpenJDK 1.7.0 and the following configuration :

<pre>
(...)
 <task>
(...)
  <ldapDestinationService>
(...)
        <pivotAttributes>
          <string>uid</string>
        </pivotAttributes>
        <fetchedAttributes>
          <string>description</string>
          <string>cn</string>
          <string>sn</string>
          <string>userPassword</string>
          <string>objectClass</string>
          <string>mail</string>
          <string>uid</string>
        </fetchedAttributes>
        <getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
        
<getOneFilter>(&amp;(objectClass=inetOrgPerson)(uid={uid}))</getOneFilter>
(...)
  </ldapDestinationService>
(...)
</pre>

When I run lsc with "-s all" I can see the following on my LDAP server logs :

Jan 14 12:20:32 xxx slapd[19246]: conn=1248 op=5 SRCH 
base="ou=people,dc=my,dc=compagny,dc=org" scope=2 deref=0 
filter="(&(objectClass=inetOrgPerson)(uid={uid}))"

Notice the {uid} which is not replaced by any value.

Here is my sqlmap file (that I've reviewed with Raphaël on IRC).
<pre>
<?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="InetOrgPerson">

        <select id="getInetOrgPersonList" resultClass="java.util.HashMap">
                SELECT user_name
                FROM user
        </select>

        <select id="getInetOrgPerson" resultClass="java.util.HashMap" 
parameterClass="java.util.Map">
                SELECT  user_name as uid,
                        realname as cn,
                        realname as sn,
                        email as mail
                FROM user
                WHERE user_name = #user_name#
        </select>


        <select id="getInetOrgPersonClean" resultClass="java.util.HashMap" 
parameterClass="java.util.Map">
                SELECT user_name as uid
                FROM user
                WHERE user_name = #uid#
        </select>

</sqlMap>
</pre>


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://tools.lsc-project.org/my/account
_______________________________________________________________
Ldap Synchronization Connector (LSC) - http://lsc-project.org

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

Reply via email to