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

Fix exception when deleting an entry in a multi-directory configuration

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 8.10
    • Fix Version/s: 8.10-HF09, 9.2
    • Component/s: Directory

      Description

      The current code tries to delete the entry from all the subdirectories without checking if the entry belongs to it.

      For instance if you have a SQL not-readonly directory and a LDAP readonly directory, the deletion will fail with the following exception

      WARNING: #{userManagementActions.deleteUser}: org.nuxeo.ecm.directory.DirectorySecurityException: Directory is read-only
      javax.faces.FacesException: #{userManagementActions.deleteUser}: org.nuxeo.ecm.directory.DirectorySecurityException: Directory is read-only
      ...
      Caused by: org.nuxeo.ecm.directory.DirectorySecurityException: Directory is read-only
      	at org.nuxeo.ecm.directory.BaseSession.checkPermission(BaseSession.java:119)
      	at org.nuxeo.ecm.directory.ldap.LDAPSession.deleteEntry(LDAPSession.java:476)
      	at org.nuxeo.ecm.directory.multi.MultiDirectorySession.deleteEntry(MultiDirectorySession.java:557)
      	at org.nuxeo.ecm.platform.usermanager.UserManagerImpl.deleteUser(UserManagerImpl.java:1381)
      	at org.nuxeo.ecm.platform.usermanager.UserManagerImpl.deleteUser(UserManagerImpl.java:901)
      	at org.nuxeo.ecm.platform.usermanager.UserManagerImpl.deleteUser(UserManagerImpl.java:907)
      

      but the entry will be removed from the directory it belongs to.

        Attachments

          Activity

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0 minutes
                0m
                Logged:
                Time Spent - 1 day
                1d