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);
}