LDAP: UserIdent vs UserLdapPrimaryKey #29

Closed
opened 2023-02-08 16:20:43 +01:00 by savau · 3 comments
savau commented 2023-02-08 16:20:43 +01:00 (Migrated from gitlab.uniworx.de)

Welchen Sinn und Zweck hat UserLdapPrimaryKey?

Bei einem manuellen LDAP-Sync wird für das Update immer UserIdent verwendet. Mein Versuch das zu ändern scheiterte bislang.

In der FRADrive DB ist UserLdapPrimaryKey korrekt gesetzt, während UserIdent mit einem für das LDAP wertlosen Schlüssel besetzt ist. Das Problem ist, dass nicht jeder FRADrive User im LDAP verzeichnet ist. Daher wird UserIdent zuerst mit einem Schlüssel gefüllt, welcher für alle verfügbar und eindeutig ist; dann scheitert aber der LDAP Sync, weil UserIdent dort nutzlos ist.

Mein Versuch, dass im SyncJob zu lösen hat leider nicht funktioniert: https://gitlab.ifi.lmu.de/fradrive/fradrive/-/blob/master/src/Jobs/Handler/SynchroniseLdap.hs#L52

Da später in https://gitlab.ifi.lmu.de/fradrive/fradrive/-/blob/master/src/Auth/LDAP.hs#L147 das Argument aus mir unerklärlichen Gründen wieder erneut durch den UserIdent ersetzt wird - hier traute ich mich nicht mehr weiter, weil mir unklar ist, wo diese Funktion überall eine Rolle spielt.

Welchen Sinn und Zweck hat `UserLdapPrimaryKey`? Bei einem manuellen LDAP-Sync wird für das Update immer `UserIdent` verwendet. Mein Versuch das zu ändern scheiterte bislang. In der FRADrive DB ist `UserLdapPrimaryKey` korrekt gesetzt, während `UserIdent` mit einem für das LDAP wertlosen Schlüssel besetzt ist. Das Problem ist, dass nicht jeder FRADrive User im LDAP verzeichnet ist. Daher wird `UserIdent` zuerst mit einem Schlüssel gefüllt, welcher für alle verfügbar und eindeutig ist; dann scheitert aber der LDAP Sync, weil `UserIdent` dort nutzlos ist. Mein Versuch, dass im SyncJob zu lösen hat leider nicht funktioniert: https://gitlab.ifi.lmu.de/fradrive/fradrive/-/blob/master/src/Jobs/Handler/SynchroniseLdap.hs#L52 Da später in https://gitlab.ifi.lmu.de/fradrive/fradrive/-/blob/master/src/Auth/LDAP.hs#L147 das Argument aus mir unerklärlichen Gründen wieder erneut durch den `UserIdent` ersetzt wird - hier traute ich mich nicht mehr weiter, weil mir unklar ist, wo diese Funktion überall eine Rolle spielt.
savau commented 2023-02-08 16:20:43 +01:00 (Migrated from gitlab.uniworx.de)

assigned to @vaupel

By Steffen Jost on 2023-02-08T16:20:43 (imported from GitLab)

assigned to @vaupel *By Steffen Jost on 2023-02-08T16:20:43 (imported from GitLab)*
savau commented 2023-02-08 17:05:15 +01:00 (Migrated from gitlab.uniworx.de)

mentioned in commit eedb78664d

By Steffen Jost on 2023-02-08T17:05:15 (imported from GitLab)

mentioned in commit eedb78664d0634531dd315af9febd3c4e5fada12 *By Steffen Jost on 2023-02-08T17:05:15 (imported from GitLab)*
savau commented 2023-03-01 18:46:33 +01:00 (Migrated from gitlab.uniworx.de)

Use the LdapPrimary Key! Since it is not unique in the LMU setting, the ident was used as a workaround

By Steffen Jost on 2023-03-01T18:46:33 (imported from GitLab)

Use the LdapPrimary Key! Since it is not unique in the LMU setting, the ident was used as a workaround *By Steffen Jost on 2023-03-01T18:46:33 (imported from GitLab)*
savau (Migrated from gitlab.uniworx.de) closed this issue 2023-03-02 10:25:02 +01:00
This repo is archived. You cannot comment on issues.
No Milestone
No project
No Assignees
1 Participants
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: fraport/fradrive-old#29
No description provided.