Details

    • Type: New Feature
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.0.0
    • Fix Version/s: 4.0.0, 3.5.0
    • Component/s: rest
    • Labels:
      None
    • Support Ticket IDs:
    • Sprint:
      Sprint 6, Sprint 7, OpenDJ Sprint 84 (Final)

      Description

      We need to be able to support recursive child-containers which are resolved dynamically during routing. Do we want explicit support for this, or simply rely on users creating sub-routers and dynamically creating LDAP containers on the fly?

      Here's some additional use cases taken from OPENDJSDK-70: multi-tenant and deep hierarchical layout of resources in LDAP:

      1. multi-tenant support using simple naming (e.g. tenant = "example")
        • URI pattern: /{tenant}/users/{id}
        • DN pattern: uid={id},ou=people,dc={tenant},dc=com
      2. multi-tenant support using regex naming (e.g. tenant = "example.com")
        • URI pattern: /{tenant}/users/{id}
        • Regex pattern: ([^.]+)\.([^.]+)
        • DN pattern: uid={id},ou=people,dc=$1,dc=$2
      3. deep hierarchy:
        dc=com,dc=example
        |
        +---ou=org1
        |   +---uid=user1A
        |   +---uid=user1B
        |   +---...
        |
        +---ou=org2
        |   +---uid=user2A
        |   +---uid=user2B
        |   +---...
        |
        +---...
        

      Where you want a single HTTP end-point /users for all users regardless of their organizational unit. The assumption is that the associated JSON resources would contain a field indicating the OU to which the resource belongs. This would allow create (POST) requests to work since the parent DN cannot be determined without this information.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                matthew Matthew Swift
                Reporter:
                matthew Matthew Swift
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: