Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-8973

Multidirectory et LDAP Directory : même en forçant la casse, nuxeo ne trouve pas les utilisateurs déjà existants dans le directory SQL si ces derniers utilisent une casse différente de celle stockée

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: 5.4.2
    • Fix Version/s: None
    • Component/s: Core

      Description

      Par exemple : nous avons un utilisateur dont le username est "JEAN" dans le LDAP.
      Dans notre directory SQL, son username est donc "JEAN".

      Si cet utilisateur se connecte en renseignant "jean", le LDAP retourne bien sa fiche mais lors de l'insertion dans le directory SQL :
      1) nuxeo regarde si l'entry avec username "jean" existe, ce qui n'est pas le cas
      2) nuxeo essaie d'insérer une entry avec username "JEAN" qui existe déjà et qui ne respecte pas nos contraintes d'unicité.

      Pour régler ce problème nous avons tenté de forcer la casse au niveau du ldap directory, par exemple en upper. On voit effectivement que le LDAP est consulté avec la casse "JEAN", mais ça ne change rien du côté du directory SQL.

      Comment régler ce problème ?

      getEntryFromSource from table IRIS_USER with query SELECT * FROM "IRIS_USER" WHERE "username" = ? VALUES {Column(username):jean,} 
      2012-03-02 10:09:32.642|DEBUG|SDSI20|[http-0.0.0.0-9080-1]|com.afp.iris.sr.cms.directory.OracleSQLSession|ANONYMOUS-1330679372625|getEntryFromSource from table IRIS_USER with id jean : return null /* l'entry n'est pas trouvée alors qu'elle existe avec JEAN */
      2012-03-02 10:09:32.642|DEBUG|SDSI20|[http-0.0.0.0-9080-1]|com.afp.iris.sr.cms.directory.OracleSQLSession|ANONYMOUS-1330679372625|createEntry with query INSERT INTO "IRIS_USER" ("lastName", "username", "settingsModifiedDate", "firstName", "currentRole") VALUES (?, ?, ?, ?, ?) VALUES lastName:dupont username:JEAN settingsModifiedDate:java.util.GregorianCalendar[time=1330679372636,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/Paris",offset=3600000,dstSavings=3600000,useDaylight=true,transitions=184,lastRule=java.util.SimpleTimeZone[id=Europe/Paris,offset=3600000,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2012,MONTH=2,WEEK_OF_YEAR=9,WEEK_OF_MONTH=1,DAY_OF_MONTH=2,DAY_OF_YEAR=62,DAY_OF_WEEK=6,DAY_OF_WEEK_IN_MONTH=1,AM_PM=0,HOUR=10,HOUR_OF_DAY=10,MINUTE=9,SECOND=32,MILLISECOND=636,ZONE_OFFSET=3600000,DST_OFFSET=0] firstName:utest-PROD-FRA currentRole:producteur 
      ...
      
      

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              gsoing Guillaume Soing
              Participants:
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: