Uploaded image for project: 'Jackrabbit Oak'
  1. Jackrabbit Oak
  2. OAK-9675

Configuration option for allowed authorizable properties mixin types

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Abandoned
    • None
    • None
    • core, security-spi
    • None

    Description

      This is in support of a use case where we want a stricter value constraint on what is allowed to be stored in an authorizable property.  The unstructured property definition from rep:Authorizable is too permissive for the use case.  Defining  and using a mixin with a property definition that has a value constraint defined solves most of the use case, but  after doing that then the property is no longer visible in the authorizable properties.

      Basically, the current implementation of AuthorizablePropertiesImpl#getAuthorizableProperty will exclude any properties whose property definition is not declared by the rep:Authorizable node type.  This means property definitions that are defined by any mixin type are excluded.

      The proposed improvement here is to add an optional configuration property that would define the names of mixin types that are allowed to define authorizable properties.  Any property definition defined by a mixin type in this set would be included, and anything else would be excluded as before.

       

      NOTE: This is applicable only to the properties stored in the root user/group home node.  Any properties defined under subnodes are not affected by this configuration as those properties were not being excluded the same way that the properties on the root home node were.

       

       

      Attachments

        Issue Links

          Activity

            People

              angela Angela Schreiber
              enorman Eric Norman
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: