Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-3885

Extend set of Actions in JackrabbitSession to reflect other operations than regular read/write

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.11.0
    • Component/s: jackrabbit-api
    • Labels:
      None

      Description

      Current the set of actions that can officially be passed to Session.hasPermission is limited to

      Session.ACTION_ADD_NODE
      Session.ACTION_SET_PROPERTY
      Session.ACTION_REMOVE
      Session.ACTION_READ
      

      Consequently it is not possible to test if non-regular read/write operations can be execute permission wise.

      As of Oak 1.0 this has been mitigated as the Session implementation present in oak-jcr also allows to pass the string representation of the built-in OAK Permissions. However, those constants are defined in the SPI part of oak-core and thus would require consumers to add a dependency to oak-core (which due to non-existing modularization includes tons of additional stuff include NodeStore), which feels totally wrong to me.

      I would therefore like to propose to extend the set of action constants in JackrabbitSession such that API consumers can do everything with just using JCR and Jackrabbit API.

      cc Marc Pfaff, who asked about the best way to test a given permission setup and thus made me think about this.

      Patch for API and oak will follow asap.

        Attachments

        1. JCR-3885.patch
          9 kB
          Angela Schreiber

          Issue Links

            Activity

              People

              • Assignee:
                angela Angela Schreiber
                Reporter:
                angela Angela Schreiber
              • Votes:
                0 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: