You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by mc...@apache.org on 2016/06/28 20:32:57 UTC
nifi git commit: NIFI-2138 Making AccessPolicy have a single
RequestAction. This closes #590
Repository: nifi
Updated Branches:
refs/heads/master 41f325344 -> f43f47694
NIFI-2138 Making AccessPolicy have a single RequestAction. This closes #590
Project: http://git-wip-us.apache.org/repos/asf/nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/f43f4769
Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/f43f4769
Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/f43f4769
Branch: refs/heads/master
Commit: f43f47694c9d55617a068bed62f7d70267c25bee
Parents: 41f3253
Author: Bryan Bende <bb...@apache.org>
Authored: Tue Jun 28 14:26:00 2016 -0400
Committer: Matt Gilman <ma...@gmail.com>
Committed: Tue Jun 28 16:32:27 2016 -0400
----------------------------------------------------------------------
.../AbstractPolicyBasedAuthorizer.java | 36 +++----------
.../apache/nifi/authorization/AccessPolicy.java | 50 +++++------------
.../TestAbstractPolicyBasedAuthorizer.java | 16 +++---
.../nifi/authorization/TestAccessPolicy.java | 57 +++++---------------
.../authorization/AuthorizationsHolder.java | 11 ++--
.../nifi/authorization/FileAuthorizer.java | 32 +++++------
.../nifi/authorization/RoleAccessPolicy.java | 14 ++---
.../src/main/xsd/authorizations.xsd | 2 +-
.../nifi/authorization/FileAuthorizerTest.java | 54 +++++++++----------
.../nifi/controller/TestFlowController.java | 5 +-
.../org/apache/nifi/web/api/dto/DtoFactory.java | 8 +--
.../impl/StandardPolicyBasedAuthorizerDAO.java | 7 ++-
.../StandardPolicyBasedAuthorizerDAOSpec.groovy | 10 ++--
13 files changed, 110 insertions(+), 192 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java b/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java
index 71168f6..6a8467d 100644
--- a/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java
+++ b/nifi-api/src/main/java/org/apache/nifi/authorization/AbstractPolicyBasedAuthorizer.java
@@ -78,9 +78,8 @@ public abstract class AbstractPolicyBasedAuthorizer implements Authorizer {
}
for (AccessPolicy policy : policies) {
- final boolean containsAction = policy.getActions().contains(request.getAction());
final boolean containsUser = policy.getUsers().contains(user.getIdentifier());
- if (containsAction && (containsUser || containsGroup(user, policy)) ) {
+ if (policy.getAction() == request.getAction() && (containsUser || containsGroup(user, policy)) ) {
return AuthorizationResult.approved();
}
}
@@ -327,11 +326,12 @@ public abstract class AbstractPolicyBasedAuthorizer implements Authorizer {
.resource(element.getAttribute(RESOURCE_ATTR));
final String actions = element.getAttribute(ACTIONS_ATTR);
- if (actions.contains(RequestAction.READ.name())) {
- builder.addAction(RequestAction.READ);
- }
- if (actions.contains(RequestAction.WRITE.name())) {
- builder.addAction(RequestAction.WRITE);
+ if (actions.equals(RequestAction.READ.name())) {
+ builder.action(RequestAction.READ);
+ } else if (actions.equals(RequestAction.WRITE.name())) {
+ builder.action(RequestAction.WRITE);
+ } else {
+ throw new IllegalStateException("Unknown Policy Action: " + actions);
}
NodeList policyUsers = element.getElementsByTagName(POLICY_USER_ELEMENT);
@@ -427,13 +427,6 @@ public abstract class AbstractPolicyBasedAuthorizer implements Authorizer {
}
private void writePolicy(final XMLStreamWriter writer, final AccessPolicy policy) throws XMLStreamException {
- // build the action string in a deterministic order
- StringBuilder actionBuilder = new StringBuilder();
- List<RequestAction> actions = getSortedActions(policy);
- for (RequestAction action : actions) {
- actionBuilder.append(action);
- }
-
// sort the users for the policy
List<String> policyUsers = new ArrayList<>(policy.getUsers());
Collections.sort(policyUsers);
@@ -445,7 +438,7 @@ public abstract class AbstractPolicyBasedAuthorizer implements Authorizer {
writer.writeStartElement(POLICY_ELEMENT);
writer.writeAttribute(IDENTIFIER_ATTR, policy.getIdentifier());
writer.writeAttribute(RESOURCE_ATTR, policy.getResource());
- writer.writeAttribute(ACTIONS_ATTR, actionBuilder.toString());
+ writer.writeAttribute(ACTIONS_ATTR, policy.getAction().name());
for (String policyUser : policyUsers) {
writer.writeStartElement(POLICY_USER_ELEMENT);
@@ -498,17 +491,4 @@ public abstract class AbstractPolicyBasedAuthorizer implements Authorizer {
return users;
}
- private List<RequestAction> getSortedActions(final AccessPolicy policy) {
- final List<RequestAction> actions = new ArrayList<>(policy.getActions());
-
- Collections.sort(actions, new Comparator<RequestAction>() {
- @Override
- public int compare(RequestAction r1, RequestAction r2) {
- return r1.name().compareTo(r2.name());
- }
- });
-
- return actions;
- }
-
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-api/src/main/java/org/apache/nifi/authorization/AccessPolicy.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/main/java/org/apache/nifi/authorization/AccessPolicy.java b/nifi-api/src/main/java/org/apache/nifi/authorization/AccessPolicy.java
index 7ef40a3..93cabb2 100644
--- a/nifi-api/src/main/java/org/apache/nifi/authorization/AccessPolicy.java
+++ b/nifi-api/src/main/java/org/apache/nifi/authorization/AccessPolicy.java
@@ -34,14 +34,14 @@ public class AccessPolicy {
private final Set<String> groups;
- private final Set<RequestAction> actions;
+ private final RequestAction action;
private AccessPolicy(final Builder builder) {
this.identifier = builder.identifier;
this.resource = builder.resource;
+ this.action = builder.action;
this.users = Collections.unmodifiableSet(new HashSet<>(builder.users));
this.groups = Collections.unmodifiableSet(new HashSet<>(builder.groups));
- this.actions = Collections.unmodifiableSet(new HashSet<>(builder.actions));
if (this.identifier == null || this.identifier.trim().isEmpty()) {
throw new IllegalArgumentException("Identifier can not be null or empty");
@@ -51,8 +51,8 @@ public class AccessPolicy {
throw new IllegalArgumentException("Resource can not be null");
}
- if (this.actions == null || this.actions.isEmpty()) {
- throw new IllegalArgumentException("Actions can not be null or empty");
+ if (this.action == null) {
+ throw new IllegalArgumentException("Action can not be null");
}
}
@@ -85,10 +85,10 @@ public class AccessPolicy {
}
/**
- * @return an unmodifiable set of actions for this policy
+ * @return the action for this policy
*/
- public Set<RequestAction> getActions() {
- return actions;
+ public RequestAction getAction() {
+ return action;
}
@Override
@@ -112,7 +112,7 @@ public class AccessPolicy {
@Override
public String toString() {
return String.format("identifier[%s], resource[%s], users[%s], groups[%s], action[%s]",
- getIdentifier(), getResource(), getUsers(), getGroups(), getActions());
+ getIdentifier(), getResource(), getUsers(), getGroups(), getAction());
}
/**
@@ -122,9 +122,9 @@ public class AccessPolicy {
private String identifier;
private String resource;
+ private RequestAction action;
private Set<String> users = new HashSet<>();
private Set<String> groups = new HashSet<>();
- private Set<RequestAction> actions = new HashSet<>();
private final boolean fromPolicy;
/**
@@ -148,12 +148,11 @@ public class AccessPolicy {
this.identifier = other.getIdentifier();
this.resource = other.getResource();
+ this.action = other.getAction();
this.users.clear();
this.users.addAll(other.getUsers());
this.groups.clear();
this.groups.addAll(other.getGroups());
- this.actions.clear();
- this.actions.addAll(other.getActions());
this.fromPolicy = true;
}
@@ -310,34 +309,13 @@ public class AccessPolicy {
}
/**
- * Adds the provided action to the builder's set of actions.
+ * Sets the action for this builder.
*
- * @param action the action to add
+ * @param action the action to set
* @return the builder
*/
- public Builder addAction(final RequestAction action) {
- this.actions.add(action);
- return this;
- }
-
- /**
- * Removes the provided action from the builder's set of actions.
- *
- * @param action the action to remove
- * @return the builder
- */
- public Builder removeAction(final RequestAction action) {
- this.actions.remove(action);
- return this;
- }
-
- /**
- * Clears the builder's set of actions so that it is non-null and size == 0.
- *
- * @return the builder
- */
- public Builder clearActions() {
- this.actions.clear();
+ public Builder action(final RequestAction action) {
+ this.action = action;
return this;
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-api/src/test/java/org/apache/nifi/authorization/TestAbstractPolicyBasedAuthorizer.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/test/java/org/apache/nifi/authorization/TestAbstractPolicyBasedAuthorizer.java b/nifi-api/src/test/java/org/apache/nifi/authorization/TestAbstractPolicyBasedAuthorizer.java
index 6215fac..50f27f3 100644
--- a/nifi-api/src/test/java/org/apache/nifi/authorization/TestAbstractPolicyBasedAuthorizer.java
+++ b/nifi-api/src/test/java/org/apache/nifi/authorization/TestAbstractPolicyBasedAuthorizer.java
@@ -58,7 +58,7 @@ public class TestAbstractPolicyBasedAuthorizer {
.identifier("1")
.resource(TEST_RESOURCE.getIdentifier())
.addUser(userIdentifier)
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build());
when(usersAndAccessPolicies.getAccessPolicies(TEST_RESOURCE.getIdentifier())).thenReturn(policiesForResource);
@@ -96,7 +96,7 @@ public class TestAbstractPolicyBasedAuthorizer {
.identifier("1")
.resource(TEST_RESOURCE.getIdentifier())
.addGroup(groupIdentifier)
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build());
when(usersAndAccessPolicies.getAccessPolicies(TEST_RESOURCE.getIdentifier())).thenReturn(policiesForResource);
@@ -134,7 +134,7 @@ public class TestAbstractPolicyBasedAuthorizer {
.identifier("1")
.resource(TEST_RESOURCE.getIdentifier())
.addUser("NOT_USER_1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build());
when(usersAndAccessPolicies.getAccessPolicies(TEST_RESOURCE.getIdentifier())).thenReturn(policiesForResource);
@@ -189,7 +189,7 @@ public class TestAbstractPolicyBasedAuthorizer {
AccessPolicy policy1 = new AccessPolicy.Builder()
.identifier("policy-id-1")
.resource("resource1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.addUser(user1.getIdentifier())
.addUser(user2.getIdentifier())
.build();
@@ -197,8 +197,7 @@ public class TestAbstractPolicyBasedAuthorizer {
AccessPolicy policy2 = new AccessPolicy.Builder()
.identifier("policy-id-2")
.resource("resource2")
- .addAction(RequestAction.READ)
- .addAction(RequestAction.WRITE)
+ .action(RequestAction.READ)
.addGroup(group1.getIdentifier())
.addGroup(group2.getIdentifier())
.addUser(user1.getIdentifier())
@@ -261,7 +260,7 @@ public class TestAbstractPolicyBasedAuthorizer {
AccessPolicy policy1 = new AccessPolicy.Builder()
.identifier("policy-id-1")
.resource("resource1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.addUser(user1.getIdentifier())
.addUser(user2.getIdentifier())
.build();
@@ -269,8 +268,7 @@ public class TestAbstractPolicyBasedAuthorizer {
AccessPolicy policy2 = new AccessPolicy.Builder()
.identifier("policy-id-2")
.resource("resource2")
- .addAction(RequestAction.READ)
- .addAction(RequestAction.WRITE)
+ .action(RequestAction.READ)
.addGroup(group1.getIdentifier())
.addGroup(group2.getIdentifier())
.addUser(user1.getIdentifier())
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-api/src/test/java/org/apache/nifi/authorization/TestAccessPolicy.java
----------------------------------------------------------------------
diff --git a/nifi-api/src/test/java/org/apache/nifi/authorization/TestAccessPolicy.java b/nifi-api/src/test/java/org/apache/nifi/authorization/TestAccessPolicy.java
index 35e1616..c8a4452 100644
--- a/nifi-api/src/test/java/org/apache/nifi/authorization/TestAccessPolicy.java
+++ b/nifi-api/src/test/java/org/apache/nifi/authorization/TestAccessPolicy.java
@@ -24,7 +24,6 @@ import java.util.Set;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
public class TestAccessPolicy {
@@ -42,7 +41,7 @@ public class TestAccessPolicy {
.resource(TEST_RESOURCE)
.addUser(user1)
.addUser(user2)
- .addAction(action)
+ .action(action)
.build();
assertEquals(identifier, policy.getIdentifier());
@@ -55,9 +54,8 @@ public class TestAccessPolicy {
assertTrue(policy.getUsers().contains(user1));
assertTrue(policy.getUsers().contains(user2));
- assertNotNull(policy.getActions());
- assertEquals(1, policy.getActions().size());
- assertTrue(policy.getActions().contains(action));
+ assertNotNull(policy.getAction());
+ assertEquals(RequestAction.READ, policy.getAction());
}
@Test(expected = IllegalArgumentException.class)
@@ -65,7 +63,7 @@ public class TestAccessPolicy {
new AccessPolicy.Builder()
.resource(TEST_RESOURCE)
.addUser("user1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
}
@@ -74,7 +72,7 @@ public class TestAccessPolicy {
new AccessPolicy.Builder()
.identifier("1")
.addUser("user1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
}
@@ -83,7 +81,7 @@ public class TestAccessPolicy {
final AccessPolicy policy = new AccessPolicy.Builder()
.identifier("1")
.resource(TEST_RESOURCE)
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
assertNotNull(policy);
@@ -114,7 +112,7 @@ public class TestAccessPolicy {
.addUser(user2)
.addGroup(group1)
.addGroup(group2)
- .addAction(action)
+ .action(action)
.build();
assertEquals(identifier, policy.getIdentifier());
@@ -132,15 +130,14 @@ public class TestAccessPolicy {
assertTrue(policy.getGroups().contains(group1));
assertTrue(policy.getGroups().contains(group2));
- assertNotNull(policy.getActions());
- assertEquals(1, policy.getActions().size());
- assertTrue(policy.getActions().contains(action));
+ assertNotNull(policy.getAction());
+ assertEquals(RequestAction.READ, policy.getAction());
final AccessPolicy policy2 = new AccessPolicy.Builder(policy).build();
assertEquals(policy.getIdentifier(), policy2.getIdentifier());
assertEquals(policy.getResource(), policy2.getResource());
assertEquals(policy.getUsers(), policy2.getUsers());
- assertEquals(policy.getActions(), policy2.getActions());
+ assertEquals(policy.getAction(), policy2.getAction());
}
@Test(expected = IllegalStateException.class)
@@ -149,7 +146,7 @@ public class TestAccessPolicy {
.identifier("1")
.resource(TEST_RESOURCE)
.addUser("user1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
new AccessPolicy.Builder(policy).identifier("2").build();
@@ -161,7 +158,7 @@ public class TestAccessPolicy {
.identifier("1")
.resource(TEST_RESOURCE)
.addUser("user1")
- .addAction(RequestAction.READ);
+ .action(RequestAction.READ);
final AccessPolicy policy1 = builder.build();
assertEquals(1, policy1.getUsers().size());
@@ -204,7 +201,7 @@ public class TestAccessPolicy {
.identifier("1")
.resource(TEST_RESOURCE)
.addGroup("group1")
- .addAction(RequestAction.READ);
+ .action(RequestAction.READ);
final AccessPolicy policy1 = builder.build();
assertEquals(1, policy1.getGroups().size());
@@ -240,32 +237,4 @@ public class TestAccessPolicy {
assertEquals(0, policy5.getUsers().size());
}
- @Test
- public void testAddRemoveClearActions() {
- final AccessPolicy.Builder builder = new AccessPolicy.Builder()
- .identifier("1")
- .resource(TEST_RESOURCE)
- .addUser("user1")
- .addAction(RequestAction.READ);
-
- final AccessPolicy policy1 = builder.build();
- assertEquals(1, policy1.getActions().size());
- assertTrue(policy1.getActions().contains(RequestAction.READ));
-
- final AccessPolicy policy2 = builder
- .removeAction(RequestAction.READ)
- .addAction(RequestAction.WRITE)
- .build();
-
- assertEquals(1, policy2.getActions().size());
- assertTrue(policy2.getActions().contains(RequestAction.WRITE));
-
- try {
- builder.clearActions().build();
- fail("should have thrown exception");
- } catch (IllegalArgumentException e) {
-
- }
- }
-
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/AuthorizationsHolder.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/AuthorizationsHolder.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/AuthorizationsHolder.java
index e98eed9..62ab2d3 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/AuthorizationsHolder.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/AuthorizationsHolder.java
@@ -126,11 +126,12 @@ public class AuthorizationsHolder implements UsersAndAccessPolicies {
// add the appropriate request actions
final String authorizationCode = policy.getAction();
- if (authorizationCode.contains(FileAuthorizer.READ_CODE)) {
- builder.addAction(RequestAction.READ);
- }
- if (authorizationCode.contains(FileAuthorizer.WRITE_CODE)) {
- builder.addAction(RequestAction.WRITE);
+ if (authorizationCode.equals(FileAuthorizer.READ_CODE)) {
+ builder.action(RequestAction.READ);
+ } else if (authorizationCode.equals(FileAuthorizer.WRITE_CODE)){
+ builder.action(RequestAction.WRITE);
+ } else {
+ throw new IllegalStateException("Unknown Policy Action: " + authorizationCode);
}
// build the policy and add it to the map
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/FileAuthorizer.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/FileAuthorizer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/FileAuthorizer.java
index 5c8c9ff..7c04298 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/FileAuthorizer.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/FileAuthorizer.java
@@ -103,7 +103,6 @@ public class FileAuthorizer extends AbstractPolicyBasedAuthorizer {
static final String PROP_AUTHORIZATIONS_FILE = "Authorizations File";
static final String PROP_INITIAL_ADMIN_IDENTITY = "Initial Admin Identity";
static final String PROP_LEGACY_AUTHORIZED_USERS_FILE = "Legacy Authorized Users File";
- static final String PROP_ROOT_GROUP_ID = "Root Group ID";
private Schema flowSchema;
private Schema usersSchema;
@@ -325,14 +324,14 @@ public class FileAuthorizer extends AbstractPolicyBasedAuthorizer {
// grant the user read access to the root process group resource
if (rootGroupId != null) {
- addAccessPolicy(authorizations, ResourceType.ProcessGroup.getValue() + "/" + rootGroupId, adminUser.getIdentifier(), READ_CODE + WRITE_CODE);
+ addAccessPolicy(authorizations, ResourceType.ProcessGroup.getValue() + "/" + rootGroupId, adminUser.getIdentifier(), WRITE_CODE);
}
// grant the user read/write access to the /tenants resource
- addAccessPolicy(authorizations, ResourceType.Tenant.getValue(), adminUser.getIdentifier(), READ_CODE + WRITE_CODE);
+ addAccessPolicy(authorizations, ResourceType.Tenant.getValue(), adminUser.getIdentifier(), WRITE_CODE);
// grant the user read/write access to the /policies resource
- addAccessPolicy(authorizations, ResourceType.Policy.getValue(), adminUser.getIdentifier(), READ_CODE + WRITE_CODE);
+ addAccessPolicy(authorizations, ResourceType.Policy.getValue(), adminUser.getIdentifier(), WRITE_CODE);
}
/**
@@ -578,9 +577,9 @@ public class FileAuthorizer extends AbstractPolicyBasedAuthorizer {
* @param authorizations the Authorizations instance to add the policy to
* @param resource the resource for the policy
* @param identity the identity for the policy
- * @param actions the actions for the policy
+ * @param action the action for the policy
*/
- private void addAccessPolicy(final Authorizations authorizations, final String resource, final String identity, final String actions) {
+ private void addAccessPolicy(final Authorizations authorizations, final String resource, final String identity, final String action) {
final String uuidSeed = resource + identity;
final UUID policyIdentifier = UUID.nameUUIDFromBytes(uuidSeed.getBytes(StandardCharsets.UTF_8));
@@ -589,12 +588,12 @@ public class FileAuthorizer extends AbstractPolicyBasedAuthorizer {
.resource(resource)
.addUser(identity);
- if (actions.contains(READ_CODE)) {
- builder.addAction(RequestAction.READ);
- }
-
- if (actions.contains(WRITE_CODE)) {
- builder.addAction(RequestAction.WRITE);
+ if (action.equals(READ_CODE)) {
+ builder.action(RequestAction.READ);
+ } else if (action.equals(WRITE_CODE)) {
+ builder.action(RequestAction.WRITE);
+ } else {
+ throw new IllegalStateException("Unknown Policy Action: " + action);
}
final AccessPolicy accessPolicy = builder.build();
@@ -1093,13 +1092,8 @@ public class FileAuthorizer extends AbstractPolicyBasedAuthorizer {
policy.getGroup().add(policyGroup);
}
- // add the action to the policy
- boolean containsRead = accessPolicy.getActions().contains(RequestAction.READ);
- boolean containsWrite = accessPolicy.getActions().contains(RequestAction.WRITE);
-
- if (containsRead && containsWrite) {
- policy.setAction(READ_CODE + WRITE_CODE);
- } else if (containsRead) {
+ // add the action to the access policy
+ if (accessPolicy.getAction() == RequestAction.READ) {
policy.setAction(READ_CODE);
} else {
policy.setAction(WRITE_CODE);
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/RoleAccessPolicy.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/RoleAccessPolicy.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/RoleAccessPolicy.java
index 32b7ce9..24857f1 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/RoleAccessPolicy.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/java/org/apache/nifi/authorization/RoleAccessPolicy.java
@@ -30,7 +30,7 @@ import java.util.Set;
public final class RoleAccessPolicy {
static final String READ_ACTION = "R";
- static final String READ_WRITE_ACTION = "RW";
+ static final String WRITE_ACTION = "W";
private final String resource;
private final String actions;
@@ -66,10 +66,10 @@ public final class RoleAccessPolicy {
final Set<RoleAccessPolicy> dfmPolicies = new HashSet<>();
dfmPolicies.add(new RoleAccessPolicy(ResourceType.Flow.getValue(), READ_ACTION));
- dfmPolicies.add(new RoleAccessPolicy(ResourceType.Controller.getValue(), READ_WRITE_ACTION));
+ dfmPolicies.add(new RoleAccessPolicy(ResourceType.Controller.getValue(), WRITE_ACTION));
dfmPolicies.add(new RoleAccessPolicy(ResourceType.System.getValue(), READ_ACTION));
if (rootGroupId != null) {
- dfmPolicies.add(new RoleAccessPolicy(ResourceType.ProcessGroup.getValue() + "/" + rootGroupId, READ_WRITE_ACTION));
+ dfmPolicies.add(new RoleAccessPolicy(ResourceType.ProcessGroup.getValue() + "/" + rootGroupId, WRITE_ACTION));
}
roleAccessPolicies.put(Role.ROLE_DFM, Collections.unmodifiableSet(dfmPolicies));
@@ -79,17 +79,17 @@ public final class RoleAccessPolicy {
if (rootGroupId != null) {
adminPolicies.add(new RoleAccessPolicy(ResourceType.ProcessGroup.getValue() + "/" + rootGroupId, READ_ACTION));
}
- adminPolicies.add(new RoleAccessPolicy(ResourceType.Tenant.getValue(), READ_WRITE_ACTION));
- adminPolicies.add(new RoleAccessPolicy(ResourceType.Policy.getValue(), READ_WRITE_ACTION));
+ adminPolicies.add(new RoleAccessPolicy(ResourceType.Tenant.getValue(), WRITE_ACTION));
+ adminPolicies.add(new RoleAccessPolicy(ResourceType.Policy.getValue(), WRITE_ACTION));
roleAccessPolicies.put(Role.ROLE_ADMIN, Collections.unmodifiableSet(adminPolicies));
final Set<RoleAccessPolicy> proxyPolicies = new HashSet<>();
- proxyPolicies.add(new RoleAccessPolicy(ResourceType.Proxy.getValue(), READ_WRITE_ACTION));
+ proxyPolicies.add(new RoleAccessPolicy(ResourceType.Proxy.getValue(), WRITE_ACTION));
roleAccessPolicies.put(Role.ROLE_PROXY, Collections.unmodifiableSet(proxyPolicies));
final Set<RoleAccessPolicy> nifiPolicies = new HashSet<>();
nifiPolicies.add(new RoleAccessPolicy(ResourceType.Controller.getValue(), READ_ACTION));
- nifiPolicies.add(new RoleAccessPolicy(ResourceType.SiteToSite.getValue(), READ_WRITE_ACTION));
+ nifiPolicies.add(new RoleAccessPolicy(ResourceType.SiteToSite.getValue(), WRITE_ACTION));
roleAccessPolicies.put(Role.ROLE_NIFI, Collections.unmodifiableSet(nifiPolicies));
return roleAccessPolicies;
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/xsd/authorizations.xsd
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/xsd/authorizations.xsd b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/xsd/authorizations.xsd
index f3e220d..9b24c7a 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/xsd/authorizations.xsd
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/main/xsd/authorizations.xsd
@@ -131,7 +131,7 @@
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="R"/>
- <xs:enumeration value="RW"/>
+ <xs:enumeration value="W"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/test/java/org/apache/nifi/authorization/FileAuthorizerTest.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/test/java/org/apache/nifi/authorization/FileAuthorizerTest.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/test/java/org/apache/nifi/authorization/FileAuthorizerTest.java
index 8d49928..fc08e71 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/test/java/org/apache/nifi/authorization/FileAuthorizerTest.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-file-authorizer/src/test/java/org/apache/nifi/authorization/FileAuthorizerTest.java
@@ -90,12 +90,12 @@ public class FileAuthorizerTest {
" <user identifier=\"user-2\" identity=\"user-2\" />" +
" </users>" +
" <policies>" +
- " <policy identifier=\"policy-1\" resource=\"/flow\" action=\"RW\">" +
+ " <policy identifier=\"policy-1\" resource=\"/flow\" action=\"R\">" +
" <group identifier=\"group-1\" />" +
" <group identifier=\"group-2\" />" +
" <user identifier=\"user-1\" />" +
" </policy>" +
- " <policy identifier=\"policy-2\" resource=\"/flow\" action=\"RW\">" +
+ " <policy identifier=\"policy-2\" resource=\"/flow\" action=\"W\">" +
" <user identifier=\"user-2\" />" +
" </policy>" +
" </policies>" +
@@ -231,7 +231,8 @@ public class FileAuthorizerTest {
assertTrue(user3Policies.get(ResourceType.Flow.getValue()).contains(RequestAction.READ));
assertTrue(user3Policies.containsKey(ResourceType.ProcessGroup.getValue() + "/" + ROOT_GROUP_ID));
- assertEquals(2, user3Policies.get(ResourceType.ProcessGroup.getValue() + "/" + ROOT_GROUP_ID).size());
+ assertEquals(1, user3Policies.get(ResourceType.ProcessGroup.getValue() + "/" + ROOT_GROUP_ID).size());
+ assertTrue(user3Policies.get(ResourceType.ProcessGroup.getValue() + "/" + ROOT_GROUP_ID).contains(RequestAction.WRITE));
// verify user4's policies
final Map<String,Set<RequestAction>> user4Policies = getResourceActions(policies, user4);
@@ -246,24 +247,28 @@ public class FileAuthorizerTest {
assertTrue(user4Policies.get(ResourceType.ProcessGroup.getValue() + "/" + ROOT_GROUP_ID).contains(RequestAction.READ));
assertTrue(user4Policies.containsKey(ResourceType.Tenant.getValue()));
- assertEquals(2, user4Policies.get(ResourceType.Tenant.getValue()).size());
+ assertEquals(1, user4Policies.get(ResourceType.Tenant.getValue()).size());
+ assertTrue(user4Policies.get(ResourceType.Tenant.getValue()).contains(RequestAction.WRITE));
assertTrue(user4Policies.containsKey(ResourceType.Policy.getValue()));
- assertEquals(2, user4Policies.get(ResourceType.Policy.getValue()).size());
+ assertEquals(1, user4Policies.get(ResourceType.Policy.getValue()).size());
+ assertTrue(user4Policies.get(ResourceType.Policy.getValue()).contains(RequestAction.WRITE));
// verify user5's policies
final Map<String,Set<RequestAction>> user5Policies = getResourceActions(policies, user5);
assertEquals(1, user5Policies.size());
assertTrue(user5Policies.containsKey(ResourceType.Proxy.getValue()));
- assertEquals(2, user5Policies.get(ResourceType.Proxy.getValue()).size());
+ assertEquals(1, user5Policies.get(ResourceType.Proxy.getValue()).size());
+ assertTrue(user5Policies.get(ResourceType.Proxy.getValue()).contains(RequestAction.WRITE));
// verify user6's policies
final Map<String,Set<RequestAction>> user6Policies = getResourceActions(policies, user6);
assertEquals(2, user6Policies.size());
assertTrue(user6Policies.containsKey(ResourceType.SiteToSite.getValue()));
- assertEquals(2, user6Policies.get(ResourceType.SiteToSite.getValue()).size());
+ assertEquals(1, user6Policies.get(ResourceType.SiteToSite.getValue()).size());
+ assertTrue(user6Policies.get(ResourceType.SiteToSite.getValue()).contains(RequestAction.WRITE));
}
private Map<String,Set<RequestAction>> getResourceActions(final Set<AccessPolicy> policies, final User user) {
@@ -276,7 +281,7 @@ public class FileAuthorizerTest {
actions = new HashSet<>();
resourceActionMap.put(accessPolicy.getResource(), actions);
}
- actions.addAll(accessPolicy.getActions());
+ actions.add(accessPolicy.getAction());
}
}
@@ -561,9 +566,7 @@ public class FileAuthorizerTest {
for (AccessPolicy policy : policies) {
if (policy.getIdentifier().equals("policy-1")
&& policy.getResource().equals("/flow")
- && policy.getActions().size() == 2
- && policy.getActions().contains(RequestAction.READ)
- && policy.getActions().contains(RequestAction.WRITE)
+ && policy.getAction() == RequestAction.READ
&& policy.getGroups().size() == 2
&& policy.getGroups().contains("group-1")
&& policy.getGroups().contains("group-2")
@@ -572,9 +575,7 @@ public class FileAuthorizerTest {
foundPolicy1 = true;
} else if (policy.getIdentifier().equals("policy-2")
&& policy.getResource().equals("/flow")
- && policy.getActions().size() == 2
- && policy.getActions().contains(RequestAction.READ)
- && policy.getActions().contains(RequestAction.WRITE)
+ && policy.getAction() == RequestAction.WRITE
&& policy.getGroups().size() == 0
&& policy.getUsers().size() == 1
&& policy.getUsers().contains("user-2")) {
@@ -944,7 +945,7 @@ public class FileAuthorizerTest {
.resource("resource-1")
.addUser("user-1")
.addGroup("group-1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
final AccessPolicy returnedPolicy1 = authorizer.addAccessPolicy(policy1);
@@ -953,7 +954,7 @@ public class FileAuthorizerTest {
assertEquals(policy1.getResource(), returnedPolicy1.getResource());
assertEquals(policy1.getUsers(), returnedPolicy1.getUsers());
assertEquals(policy1.getGroups(), returnedPolicy1.getGroups());
- assertEquals(policy1.getActions(), returnedPolicy1.getActions());
+ assertEquals(policy1.getAction(), returnedPolicy1.getAction());
assertEquals(1, authorizer.getAccessPolicies().size());
@@ -963,7 +964,7 @@ public class FileAuthorizerTest {
.resource("resource-1")
.addUser("user-1")
.addGroup("group-1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
final AccessPolicy returnedPolicy2 = authorizer.addAccessPolicy(policy2);
@@ -980,7 +981,7 @@ public class FileAuthorizerTest {
final AccessPolicy policy1 = new AccessPolicy.Builder()
.identifier("policy-1")
.resource("resource-1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
final AccessPolicy returnedPolicy1 = authorizer.addAccessPolicy(policy1);
@@ -989,7 +990,7 @@ public class FileAuthorizerTest {
assertEquals(policy1.getResource(), returnedPolicy1.getResource());
assertEquals(policy1.getUsers(), returnedPolicy1.getUsers());
assertEquals(policy1.getGroups(), returnedPolicy1.getGroups());
- assertEquals(policy1.getActions(), returnedPolicy1.getActions());
+ assertEquals(policy1.getAction(), returnedPolicy1.getAction());
assertEquals(1, authorizer.getAccessPolicies().size());
}
@@ -1005,9 +1006,7 @@ public class FileAuthorizerTest {
assertEquals("policy-1", policy.getIdentifier());
assertEquals("/flow", policy.getResource());
- assertEquals(2, policy.getActions().size());
- assertTrue(policy.getActions().contains(RequestAction.WRITE));
- assertTrue(policy.getActions().contains(RequestAction.READ));
+ assertEquals(RequestAction.READ, policy.getAction());
assertEquals(1, policy.getUsers().size());
assertTrue(policy.getUsers().contains("user-1"));
@@ -1038,7 +1037,7 @@ public class FileAuthorizerTest {
.resource("resource-A")
.addUser("user-A")
.addGroup("group-A")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
final AccessPolicy updateAccessPolicy = authorizer.updateAccessPolicy(policy);
@@ -1052,8 +1051,7 @@ public class FileAuthorizerTest {
assertEquals(1, updateAccessPolicy.getGroups().size());
assertTrue(updateAccessPolicy.getGroups().contains("group-A"));
- assertEquals(1, updateAccessPolicy.getActions().size());
- assertTrue(updateAccessPolicy.getActions().contains(RequestAction.READ));
+ assertEquals(RequestAction.READ, updateAccessPolicy.getAction());
}
@Test
@@ -1067,7 +1065,7 @@ public class FileAuthorizerTest {
.resource("resource-A")
.addUser("user-A")
.addGroup("group-A")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
final AccessPolicy updateAccessPolicy = authorizer.updateAccessPolicy(policy);
@@ -1085,7 +1083,7 @@ public class FileAuthorizerTest {
.resource("resource-A")
.addUser("user-A")
.addGroup("group-A")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
final AccessPolicy deletedAccessPolicy = authorizer.deleteAccessPolicy(policy);
@@ -1108,7 +1106,7 @@ public class FileAuthorizerTest {
.resource("resource-A")
.addUser("user-A")
.addGroup("group-A")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.build();
final AccessPolicy deletedAccessPolicy = authorizer.deleteAccessPolicy(policy);
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java
index bddd741..ea12ad5 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/test/java/org/apache/nifi/controller/TestFlowController.java
@@ -80,7 +80,7 @@ public class TestFlowController {
AccessPolicy policy1 = new AccessPolicy.Builder()
.identifier("policy-id-1")
.resource("resource1")
- .addAction(RequestAction.READ)
+ .action(RequestAction.READ)
.addUser(user1.getIdentifier())
.addUser(user2.getIdentifier())
.build();
@@ -88,8 +88,7 @@ public class TestFlowController {
AccessPolicy policy2 = new AccessPolicy.Builder()
.identifier("policy-id-2")
.resource("resource2")
- .addAction(RequestAction.READ)
- .addAction(RequestAction.WRITE)
+ .action(RequestAction.READ)
.addGroup(group1.getIdentifier())
.addGroup(group2.getIdentifier())
.addUser(user1.getIdentifier())
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
index 80ea9c9..8889292 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/dto/DtoFactory.java
@@ -1562,9 +1562,11 @@ public final class DtoFactory {
dto.setUsers(users);
dto.setId(accessPolicy.getIdentifier());
dto.setResource(accessPolicy.getResource());
- Set<RequestAction> accessPolicyActions = accessPolicy.getActions();
- dto.setCanRead(accessPolicyActions.contains(RequestAction.READ));
- dto.setCanWrite(accessPolicyActions.contains(RequestAction.WRITE));
+ if (accessPolicy.getAction() == RequestAction.WRITE) {
+ dto.setCanWrite(Boolean.TRUE);
+ } else {
+ dto.setCanRead(Boolean.TRUE);
+ }
return dto;
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAO.java
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAO.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAO.java
index 845d9f4..4aae278 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAO.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAO.java
@@ -192,11 +192,10 @@ public class StandardPolicyBasedAuthorizerDAO implements AccessPolicyDAO, UserGr
if (users != null) {
builder.addUsers(users.stream().map(ComponentEntity::getId).collect(Collectors.toSet()));
}
- if (Boolean.TRUE == accessPolicyDTO.getCanRead()) {
- builder.addAction(RequestAction.READ);
- }
if (Boolean.TRUE == accessPolicyDTO.getCanWrite()) {
- builder.addAction(RequestAction.WRITE);
+ builder.action(RequestAction.WRITE);
+ } else {
+ builder.action(RequestAction.READ);
}
return builder.build();
}
http://git-wip-us.apache.org/repos/asf/nifi/blob/f43f4769/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/groovy/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAOSpec.groovy
----------------------------------------------------------------------
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/groovy/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAOSpec.groovy b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/groovy/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAOSpec.groovy
index 78e9084..6c2686b 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/groovy/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAOSpec.groovy
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/test/groovy/org/apache/nifi/web/dao/impl/StandardPolicyBasedAuthorizerDAOSpec.groovy
@@ -79,7 +79,7 @@ class StandardPolicyBasedAuthorizerDAOSpec extends Specification {
where:
accessPolicy | _
new AccessPolicy.Builder().identifier('policy-id-1').resource('/fake/resource').addUser('user-id-1').addGroup('user-group-id-1')
- .addAction(RequestAction.READ).addAction(RequestAction.WRITE).build() | _
+ .action(RequestAction.WRITE).build() | _
null | _
}
@@ -107,7 +107,7 @@ class StandardPolicyBasedAuthorizerDAOSpec extends Specification {
where:
accessPolicy | _
new AccessPolicy.Builder().identifier('policy-id-1').resource('/fake/resource').addUser('user-id-1').addGroup('user-group-id-1')
- .addAction(RequestAction.READ).addAction(RequestAction.WRITE).build() | _
+ .action(RequestAction.WRITE).build() | _
}
@Unroll
@@ -127,7 +127,7 @@ class StandardPolicyBasedAuthorizerDAOSpec extends Specification {
where:
accessPolicy | _
new AccessPolicy.Builder().identifier('policy-id-1').resource('/fake/resource').addUser('user-id-1').addGroup('user-group-id-1')
- .addAction(RequestAction.READ).addAction(RequestAction.WRITE).build() | _
+ .action(RequestAction.WRITE).build() | _
}
@Unroll
@@ -167,7 +167,7 @@ class StandardPolicyBasedAuthorizerDAOSpec extends Specification {
where:
accessPolicy | _
new AccessPolicy.Builder().identifier('policy-id-1').resource('/fake/resource').addUser('user-id-1').addGroup('user-group-id-1')
- .addAction(RequestAction.READ).addAction(RequestAction.WRITE).build() | _
+ .action(RequestAction.WRITE).build() | _
}
@Unroll
@@ -207,7 +207,7 @@ class StandardPolicyBasedAuthorizerDAOSpec extends Specification {
where:
accessPolicy | _
new AccessPolicy.Builder().identifier('policy-id-1').resource('/fake/resource').addUser('user-id-1').addGroup('user-group-id-1')
- .addAction(RequestAction.READ).addAction(RequestAction.WRITE).build() | _
+ .action(RequestAction.WRITE).build() | _
}
@Unroll