This is an automated email from the ASF dual-hosted git repository.

benjobs pushed a commit to branch dev-2.1.5
in repository https://gitbox.apache.org/repos/asf/incubator-streampark.git


The following commit(s) were added to refs/heads/dev-2.1.5 by this push:
     new 7329c4a04 [Improve] Improved proxy permission checks and fixed URL bug 
for YARN proxy. (#3986)
7329c4a04 is described below

commit 7329c4a0473d23bfd046e8a8497cd3fff0fdd41b
Author: TiDra <[email protected]>
AuthorDate: Thu Aug 22 18:32:41 2024 +0800

    [Improve] Improved proxy permission checks and fixed URL bug for YARN 
proxy. (#3986)
---
 .../streampark/console/core/controller/ProxyController.java      | 9 +++++++--
 .../streampark/console/core/service/impl/ProxyServiceImpl.java   | 2 +-
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/ProxyController.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/ProxyController.java
index d8e396dd7..a8b677081 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/ProxyController.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/controller/ProxyController.java
@@ -19,6 +19,8 @@ package org.apache.streampark.console.core.controller;
 
 import org.apache.streampark.console.core.service.ProxyService;
 
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
@@ -39,19 +41,22 @@ public class ProxyController {
   @Autowired private ProxyService proxyService;
 
   @GetMapping("flink/{id}/**")
+  @RequiresPermissions("app:view")
   public ResponseEntity<?> proxyFlink(HttpServletRequest request, 
@PathVariable("id") Long id)
       throws Exception {
     return proxyService.proxyFlink(request, id);
   }
 
   @GetMapping("history/{id}/**")
+  @RequiresPermissions("app:view")
   public ResponseEntity<?> proxyHistory(HttpServletRequest request, 
@PathVariable("id") Long logId)
       throws Exception {
     return proxyService.proxyHistory(request, logId);
   }
 
-  @GetMapping("yarn/{appId}/**")
-  public ResponseEntity<?> proxyYarn(HttpServletRequest request, 
@PathVariable("appId") Long logId)
+  @GetMapping("yarn/{id}/**")
+  @RequiresPermissions("app:view")
+  public ResponseEntity<?> proxyYarn(HttpServletRequest request, 
@PathVariable("id") Long logId)
       throws Exception {
     return proxyService.proxyYarn(request, logId);
   }
diff --git 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProxyServiceImpl.java
 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProxyServiceImpl.java
index e88acc5a2..ee7960fdb 100644
--- 
a/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProxyServiceImpl.java
+++ 
b/streampark-console/streampark-console-service/src/main/java/org/apache/streampark/console/core/service/impl/ProxyServiceImpl.java
@@ -145,7 +145,7 @@ public class ProxyServiceImpl implements ProxyService {
     String yarnId = log.getYarnAppId();
     String yarnURL = YarnUtils.getRMWebAppProxyURL();
     String url = yarnURL + "/proxy/" + yarnId + "/";
-    url += getRequestURL(request).replace("/proxy/yarn/" + yarnId, "");
+    url += getRequestURL(request).replace("/proxy/yarn/" + logId, "");
     return proxyYarnRequest(request, url);
   }
 

Reply via email to