georchestra/geonetwork — pull request #16 by pmauduit (2014-08-28 14:02:27+00:00)
Title: Fixing LDAP sync / hardening LDAPUtils.saveUser()

@jesseeichar, @fgravin,

This PR aims to address 2 different problems:

- If an error occurs during LDAP sync or user's connection, the whole
SQL transaction is aborted, so a first error, the whole process is
discarded. Adding some checkpoints to be able to recover after an
error (concerning user's connection, the error is related to adding a
group into DB ; for the LDAP sync job, the error is related to
removing a user who is still owning some metadatas).

- When a user connects a call is made to LDAPUtils.saveUser(), which
tries to add groups if not existing. But groupId was potentially null,
resulting of an Exception being thrown, and the user was not able to
connect.

This has not been tested yet, but I plan to test it locally with a LDAP
dump from PIGMA.