Uploaded image for project: '[Read Only] - Hippo Repository'
  1. [Read Only] - Hippo Repository
  2. REPO-1661

When using groupfolders the hipposys:dirlevels value is not applied correctly

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Low
    • Resolution: Fixed
    • Affects Version/s: 3.2.7, 4.2.0
    • Fix Version/s: 5.0.0
    • Component/s: None
    • Similar issues:

      Description

      It is possible to use group folder like the following scenario. This can be extremely handy when you have a lot of groups configured (like us).

      jcr:root
      + hippo:configuration
        + hippo:groups
          + groupfolder1 (hipposys:groupfolder)
            + group1 (hipposys:group)
          + groupfolder2 (hipposys:groupfolder)
            + group2 (hipposys:group)
        + hippo:security
          + internal
            + hipposys:groupprovider
              - hipposys:dirlevels = 1

      In this scenario the user is not assigned to the second group (group2) due to a bug in AbstractGroupManager#getMembershipsByPath(String userId, String providerId, Node groupFolder, int level).

      In this method the construct level++ is used to pass the level, however this also causes the current level to be increased which then gets passed to the next groupfolder it encounters.

      I have supplied a patch that fixes this issue.

      Right now we circumvent the issue by setting the hipposys:dirlevels value to an arbitrary large number (100 in our case), but it would be nicer if this issue gets fixed in the future.

      The problem occurs in our current version (3.2.7), but is also there in the latest version.

       

        Attachments

          Activity

            People

            • Assignee:
              clientserviceteam Client Service Team
              Reporter:
              mveerman Maarten Veerman
            • Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: