Author: angela Date: Thu Apr 5 12:30:03 2018 New Revision: 1828423 URL: http://svn.apache.org/viewvc?rev=1828423&view=rev Log: OAK-5122 : Exercise for Custom Authorization Models (wip)
Modified: jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java Modified: jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java?rev=1828423&r1=1828422&r2=1828423&view=diff ============================================================================== --- jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java (original) +++ jackrabbit/oak/trunk/oak-exercise/src/main/java/org/apache/jackrabbit/oak/exercise/security/authorization/models/readonly/ReadOnlyAuthorizationConfiguration.java Thu Apr 5 12:30:03 2018 @@ -21,8 +21,7 @@ import java.util.List; import java.util.Set; import javax.annotation.Nonnull; import javax.annotation.Nullable; -import javax.jcr.RepositoryException; -import javax.jcr.UnsupportedRepositoryOperationException; +import javax.jcr.security.AccessControlException; import javax.jcr.security.AccessControlManager; import javax.jcr.security.AccessControlPolicy; import javax.jcr.security.AccessControlPolicyIterator; @@ -136,10 +135,10 @@ import static org.apache.jackrabbit.oak. * * <ul> * <li>Upload the oak-exercise bundle</li> - * <li>Go to the configuration of {@link org.apache.jackrabbit.oak.security.internal.SecurityProviderRegistration} + * <li>Edit configuration of {@link org.apache.jackrabbit.oak.security.internal.SecurityProviderRegistration} * <ul> * <li>add {@code org.apache.jackrabbit.oak.exercise.security.authorization.models.readonly.ReadOnlyAuthorizationConfiguration} - * to the list of required service IDs</li> + * to the list of required service IDs</li> * <li>make sure the 'Authorization Composition Type' is set to AND</li> * </ul> * </li> @@ -177,13 +176,13 @@ public final class ReadOnlyAuthorization } @Override - public void setPolicy(String absPath, AccessControlPolicy policy) throws UnsupportedRepositoryOperationException { - throw new UnsupportedRepositoryOperationException(); + public void setPolicy(String absPath, AccessControlPolicy policy) throws AccessControlException { + throw new AccessControlException(); } @Override - public void removePolicy(String absPath, AccessControlPolicy policy) throws UnsupportedRepositoryOperationException { - throw new UnsupportedRepositoryOperationException(); + public void removePolicy(String absPath, AccessControlPolicy policy) throws AccessControlException { + throw new AccessControlException(); } @Override @@ -217,12 +216,10 @@ public final class ReadOnlyAuthorization } else { return new AggregatedPermissionProvider() { - private Root immutableRoot = getRootProvider().createReadOnlyRoot(root); - @Nonnull @Override public PrivilegeBits supportedPrivileges(@Nullable Tree tree, @Nullable PrivilegeBits privilegeBits) { - return (privilegeBits != null) ? privilegeBits : new PrivilegeBitsProvider(immutableRoot).getBits(PrivilegeConstants.JCR_ALL); + return (privilegeBits != null) ? privilegeBits : new PrivilegeBitsProvider(root).getBits(PrivilegeConstants.JCR_ALL); } @Override @@ -253,7 +250,6 @@ public final class ReadOnlyAuthorization @Override public void refresh() { - immutableRoot = getRootProvider().createReadOnlyRoot(root); } @Nonnull @@ -399,7 +395,7 @@ public final class ReadOnlyAuthorization private static final NamedAccessControlPolicy INSTANCE = new ReadOnlyPolicy(); @Override - public String getName() throws RepositoryException { + public String getName() { return "Read-only Policy defined by 'ReadOnlyAuthorizationConfiguration'"; } }