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'";
}
}