Repository: nifi Updated Branches: refs/heads/master 8acbe9aa3 -> 0d14db72f
NIFI-3247: - Removing unnecessary authorization check during second phase of connection creation. - Ensuring that the remote group port returns the correct resource type though not super critical since it is not possible to create policies for remote ports. This closes #1353. Project: http://git-wip-us.apache.org/repos/asf/nifi/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi/commit/0d14db72 Tree: http://git-wip-us.apache.org/repos/asf/nifi/tree/0d14db72 Diff: http://git-wip-us.apache.org/repos/asf/nifi/diff/0d14db72 Branch: refs/heads/master Commit: 0d14db72f52005e5da3b01582ec8594ed9686226 Parents: 8acbe9a Author: Matt Gilman <[email protected]> Authored: Wed Dec 21 15:46:32 2016 -0500 Committer: Pierre Villard <[email protected]> Committed: Fri Dec 30 16:05:06 2016 +0100 ---------------------------------------------------------------------- .../org/apache/nifi/remote/StandardRemoteGroupPort.java | 9 +++++++++ .../org/apache/nifi/web/dao/impl/StandardConnectionDAO.java | 6 ------ 2 files changed, 9 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi/blob/0d14db72/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRemoteGroupPort.java ---------------------------------------------------------------------- diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRemoteGroupPort.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRemoteGroupPort.java index b1a1c92..d8c055b 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRemoteGroupPort.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-site-to-site/src/main/java/org/apache/nifi/remote/StandardRemoteGroupPort.java @@ -31,7 +31,10 @@ import java.util.concurrent.atomic.AtomicReference; import javax.net.ssl.SSLContext; +import org.apache.nifi.authorization.Resource; import org.apache.nifi.authorization.resource.Authorizable; +import org.apache.nifi.authorization.resource.ResourceFactory; +import org.apache.nifi.authorization.resource.ResourceType; import org.apache.nifi.components.ValidationResult; import org.apache.nifi.connectable.ConnectableType; import org.apache.nifi.connectable.Connection; @@ -123,6 +126,12 @@ public class StandardRemoteGroupPort extends RemoteGroupPort { } @Override + public Resource getResource() { + final ResourceType resourceType = ConnectableType.REMOTE_INPUT_PORT.equals(getConnectableType()) ? ResourceType.InputPort : ResourceType.OutputPort; + return ResourceFactory.getComponentResource(resourceType, getIdentifier(), getName()); + } + + @Override public Authorizable getParentAuthorizable() { return getRemoteProcessGroup(); } http://git-wip-us.apache.org/repos/asf/nifi/blob/0d14db72/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.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/StandardConnectionDAO.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.java index 4f3d944..55c872f 100644 --- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.java +++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/dao/impl/StandardConnectionDAO.java @@ -300,9 +300,6 @@ public class StandardConnectionDAO extends ComponentDAO implements ConnectionDAO source = sourceGroup.getConnectable(sourceConnectableDTO.getId()); } - // ensure the user has write access to the source component - source.authorize(authorizer, RequestAction.WRITE, NiFiUserUtils.getNiFiUser()); - // find the destination final Connectable destination; if (ConnectableType.REMOTE_INPUT_PORT.name().equals(destinationConnectableDTO.getType())) { @@ -326,9 +323,6 @@ public class StandardConnectionDAO extends ComponentDAO implements ConnectionDAO destination = destinationGroup.getConnectable(destinationConnectableDTO.getId()); } - // ensure the user has write access to the source component - destination.authorize(authorizer, RequestAction.WRITE, NiFiUserUtils.getNiFiUser()); - // determine the relationships final Set<String> relationships = new HashSet<>(); if (isNotNull(connectionDTO.getSelectedRelationships())) {
