Github user mcgilman commented on a diff in the pull request:

    https://github.com/apache/nifi/pull/996#discussion_r78013161
  
    --- Diff: 
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/api/DataTransferResource.java
 ---
    @@ -133,15 +133,18 @@ protected void authorizeDataTransfer(final 
AuthorizableLookup lookup, final Reso
             }
     
             // get the authorizable
    -        final DataTransferAuthorizable authorizable;
    +        final Authorizable authorizable;
             if (ResourceType.InputPort.equals(resourceType)) {
    -            authorizable = new 
DataTransferAuthorizable(lookup.getInputPort(identifier));
    +            authorizable = lookup.getInputPort(identifier);
             } else {
    -            authorizable = new 
DataTransferAuthorizable(lookup.getOutputPort(identifier));
    +            authorizable = lookup.getOutputPort(identifier);
             }
     
             // perform the authorization
    -        authorizable.authorize(authorizer, RequestAction.WRITE, user);
    +        final PortAuthorizationResult authorizationResult = 
((RootGroupPort) authorizable).checkUserAuthorization(user);
    --- End diff --
    
    @ijokarumawak Here is what I'm proposing to include in your commit [1]. It 
should address the potential ClassCastException while still deferring to the 
underlying component for authorization to be consistent with raw s2s. Let me 
know what you think... I'm still reviewing but looks good so far. Thanks.
    
    [1] 
https://github.com/mcgilman/nifi/commit/b97714a4839c7c2536b0426b53e3f67858b89c5e


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to