[ 
https://issues.apache.org/jira/browse/OAK-9761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Angela Schreiber updated OAK-9761:
----------------------------------
    Description: 
Today permission evaluation contains a shortcut for evaluation of read access 
when a given session is known to have full read access on a given subtree i.e. 
including reading all access control content stored below that tree.

In case {{TreePermission.canReadAll()}} returns true the {{SecureNodeState}} 
will no longer create a permission-evaluating wrapper around child items.

However, due to the nature of the default access control management that allows 
for nested allow-deny entries, {{TreePermission.canReadAll()}} returns false 
unless the subject is known to have full administrative access.

This goal of this improvement is to investigate additional optimizations for 
cases where read-access to regular items is granted in a given subtree like it 
is e.g. the case of those paths that are defined to be always readable (see 
e.g. 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java#L107-L113)

cc: [~joerghoh], [[email protected]]

  was:
Today permission evaluation contains a shortcut for evaluation of read access 
when a given session is known to have full read access on a given subtree i.e. 
including reading all access control content stored below that tree.

In case {{TreePermission.canReadAll()}} returns true the {{SecureNodeState}} 
will no longer create a permission-evaluating wrapper around child items.

However, due to the nature of the default access control management that allows 
for nested allow-deny entries, {{TreePermission.canReadAll()}} returns false 
unless the subject is known to have full administrative access.

This goal of this improvement is to investigate additional optimizations for 
cases where read-access to regular items is granted in a given subtree like it 
is e.g. the case of those paths that are defined to be always readable (see 
e.g. 
https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java#L107-L113)


> Investigate evaluation improvement for subtrees with read access to all 
> regular nodes/properties
> ------------------------------------------------------------------------------------------------
>
>                 Key: OAK-9761
>                 URL: https://issues.apache.org/jira/browse/OAK-9761
>             Project: Jackrabbit Oak
>          Issue Type: Epic
>          Components: authorization-principalbased, core, security, 
> security-spi
>            Reporter: Angela Schreiber
>            Assignee: Angela Schreiber
>            Priority: Major
>
> Today permission evaluation contains a shortcut for evaluation of read access 
> when a given session is known to have full read access on a given subtree 
> i.e. including reading all access control content stored below that tree.
> In case {{TreePermission.canReadAll()}} returns true the {{SecureNodeState}} 
> will no longer create a permission-evaluating wrapper around child items.
> However, due to the nature of the default access control management that 
> allows for nested allow-deny entries, {{TreePermission.canReadAll()}} returns 
> false unless the subject is known to have full administrative access.
> This goal of this improvement is to investigate additional optimizations for 
> cases where read-access to regular items is granted in a given subtree like 
> it is e.g. the case of those paths that are defined to be always readable 
> (see e.g. 
> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/security/authorization/AuthorizationConfigurationImpl.java#L107-L113)
> cc: [~joerghoh], [[email protected]]



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to