This is an automated email from the ASF dual-hosted git repository.
casion pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git
The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
new fc6101334 [ISSUE-3859]Add Audit Log (#3937)
fc6101334 is described below
commit fc61013342bfd18f18a4a5a6df4ff1b1eceb8fa0
Author: 成彬彬 <[email protected]>
AuthorDate: Wed Nov 30 22:51:57 2022 +0800
[ISSUE-3859]Add Audit Log (#3937)
---
.../apache/linkis/restful/CommonRestfulApi.java | 2 +
.../entrance/restful/EntranceLabelRestfulApi.java | 1 +
.../entrance/restful/EntranceMetricRestfulApi.java | 2 +-
.../entrance/restful/EntranceRestfulApi.java | 16 ++++++--
.../entrance/restful/EntranceRestfulRemote.scala | 13 +++++--
.../am/restful/ECResourceInfoRestfulApi.java | 4 +-
.../linkis/manager/am/restful/EMRestfulApi.java | 1 +
.../linkis/bml/restful/BmlProjectRestful.java | 19 ++++++++--
.../apache/linkis/bml/restful/BmlRestfulApi.java | 36 ++++++++++++------
.../restful/api/ConfigurationRestfulApi.java | 11 +++++-
.../server/restful/ContextHistoryRestfulApi.java | 6 +++
.../cs/server/restful/ContextIDRestfulApi.java | 15 +++++++-
.../server/restful/ContextListenerRestfulApi.java | 13 +++++++
.../cs/server/restful/ContextRestfulApi.java | 44 +++++++++++++++++++++-
.../core/restful/DataSourceAdminRestfulApi.java | 6 ++-
.../query/server/restful/MetadataQueryRestful.java | 14 +++----
.../server/restful/LinkisErrorCodeRestful.java | 2 +
.../instance/label/restful/InstanceRestful.java | 6 ++-
.../filesystem/restful/api/BMLFsRestfulApi.java | 19 ++++++++--
.../org/apache/linkis/udf/api/UDFRestfulApi.java | 29 ++++++++------
20 files changed, 206 insertions(+), 53 deletions(-)
diff --git
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
index c7524e379..54d8188b8 100644
---
a/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
+++
b/linkis-commons/linkis-module/src/main/java/org/apache/linkis/restful/CommonRestfulApi.java
@@ -18,6 +18,7 @@
package org.apache.linkis.restful;
import org.apache.linkis.server.Message;
+import org.apache.linkis.server.utils.ModuleUserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.discovery.DiscoveryClient;
@@ -40,6 +41,7 @@ public class CommonRestfulApi {
@ApiOperation(value = "Offline", notes = "offline this service", response =
Message.class)
@RequestMapping(path = "/offline", method = RequestMethod.GET)
public Message offline(HttpServletRequest req) {
+ ModuleUserUtils.getOperationUser(req, "offline");
DiscoveryManager.getInstance().shutdownComponent();
return Message.ok().data("msg", "Offline successfully.");
}
diff --git
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceLabelRestfulApi.java
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceLabelRestfulApi.java
index 0d34ce22f..8ea65cf66 100644
---
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceLabelRestfulApi.java
+++
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceLabelRestfulApi.java
@@ -70,6 +70,7 @@ public class EntranceLabelRestfulApi {
@ApiOperation(value = "markoffline", notes = "add offline label", response =
Message.class)
@RequestMapping(path = "/markoffline", method = RequestMethod.GET)
public Message updateRouteLabel(HttpServletRequest req) {
+ ModuleUserUtils.getOperationUser(req, "markoffline");
Map<String, Object> labels = new HashMap<String, Object>();
logger.info("Prepare to modify the routelabel of entry to offline");
labels.put(LabelKeyConstant.ROUTE_KEY, LabelValueConstant.OFFLINE_VALUE);
diff --git
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceMetricRestfulApi.java
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceMetricRestfulApi.java
index a09f55f23..cb34ac43d 100644
---
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceMetricRestfulApi.java
+++
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceMetricRestfulApi.java
@@ -116,7 +116,7 @@ public class EntranceMetricRestfulApi {
@ApiOperation(value = "Status", notes = "get running task number ", response
= Message.class)
@RequestMapping(path = "/runningtask", method = RequestMethod.GET)
public Message status(HttpServletRequest req) {
-
+ ModuleUserUtils.getOperationUser(req, "runningtask");
EntranceJob[] undoneTasks = entranceServer.getAllUndoneTask("");
Boolean isCompleted = false;
if (null == undoneTasks || undoneTasks.length < 1) {
diff --git
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceRestfulApi.java
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceRestfulApi.java
index d975ef244..33ab1e97a 100644
---
a/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceRestfulApi.java
+++
b/linkis-computation-governance/linkis-entrance/src/main/java/org/apache/linkis/entrance/restful/EntranceRestfulApi.java
@@ -162,6 +162,7 @@ public class EntranceRestfulApi implements
EntranceRestfulRemote {
Job job = entranceServer.getJob(jobId).get();
JobRequest jobRequest = ((EntranceJob) job).getJobRequest();
Long jobReqId = jobRequest.getId();
+ ModuleUserUtils.getOperationUser(req, "submit jobReqId: " + jobReqId);
pushLog(
LogUtils.generateInfo(
"You have submitted a new job, script code (after variable
substitution) is"),
@@ -206,10 +207,12 @@ public class EntranceRestfulApi implements
EntranceRestfulRemote {
@Override
@RequestMapping(path = "/{id}/status", method = RequestMethod.GET)
public Message status(
+ HttpServletRequest req,
@PathVariable("id") String id,
@RequestParam(value = "taskID", required = false) String taskID) {
Message message = null;
String realId = ZuulEntranceUtils.parseExecID(id)[3];
+ ModuleUserUtils.getOperationUser(req, "status realId: " + realId);
Option<Job> job = Option.apply(null);
try {
job = entranceServer.getJob(realId);
@@ -243,9 +246,10 @@ public class EntranceRestfulApi implements
EntranceRestfulRemote {
})
@Override
@RequestMapping(path = "/{id}/progress", method = RequestMethod.GET)
- public Message progress(@PathVariable("id") String id) {
+ public Message progress(HttpServletRequest req, @PathVariable("id") String
id) {
Message message = null;
String realId = ZuulEntranceUtils.parseExecID(id)[3];
+ ModuleUserUtils.getOperationUser(req, "progress realId: " + realId);
Option<Job> job = null;
try {
job = entranceServer.getJob(realId);
@@ -292,9 +296,10 @@ public class EntranceRestfulApi implements
EntranceRestfulRemote {
})
@Override
@RequestMapping(path = "/{id}/progressWithResource", method =
RequestMethod.GET)
- public Message progressWithResource(@PathVariable("id") String id) {
+ public Message progressWithResource(HttpServletRequest req,
@PathVariable("id") String id) {
Message message = null;
String realId = ZuulEntranceUtils.parseExecID(id)[3];
+ ModuleUserUtils.getOperationUser(req, "progressWithResource realId: " +
realId);
Option<Job> job = null;
try {
job = entranceServer.getJob(realId);
@@ -401,6 +406,7 @@ public class EntranceRestfulApi implements
EntranceRestfulRemote {
@RequestMapping(path = "/{id}/log", method = RequestMethod.GET)
public Message log(HttpServletRequest req, @PathVariable("id") String id) {
String realId = ZuulEntranceUtils.parseExecID(id)[3];
+ ModuleUserUtils.getOperationUser(req, "log realId: " + realId);
Option<Job> job = Option.apply(null);
Message message = null;
try {
@@ -509,6 +515,7 @@ public class EntranceRestfulApi implements
EntranceRestfulRemote {
JsonNode idNode = jsonNode.get("idList");
JsonNode taskIDNode = jsonNode.get("taskIDList");
ArrayList<Long> waitToForceKill = new ArrayList<>();
+ ModuleUserUtils.getOperationUser(req, "killJobs");
if (idNode.size() != taskIDNode.size()) {
return Message.error(
"The length of the ID list does not match the length of the TASKID
list(id列表的长度与taskId列表的长度不一致)");
@@ -598,9 +605,11 @@ public class EntranceRestfulApi implements
EntranceRestfulRemote {
@Override
@RequestMapping(path = "/{id}/kill", method = RequestMethod.GET)
public Message kill(
+ HttpServletRequest req,
@PathVariable("id") String id,
@RequestParam(value = "taskID", required = false) Long taskID) {
String realId = ZuulEntranceUtils.parseExecID(id)[3];
+ ModuleUserUtils.getOperationUser(req, "kill realId:" + realId);
Option<Job> job = Option.apply(null);
try {
job = entranceServer.getJob(realId);
@@ -660,8 +669,9 @@ public class EntranceRestfulApi implements
EntranceRestfulRemote {
})
@Override
@RequestMapping(path = "/{id}/pause", method = RequestMethod.GET)
- public Message pause(@PathVariable("id") String id) {
+ public Message pause(HttpServletRequest req, @PathVariable("id") String id) {
String realId = ZuulEntranceUtils.parseExecID(id)[3];
+ ModuleUserUtils.getOperationUser(req, "pause realId:" + realId);
Option<Job> job = entranceServer.getJob(realId);
Message message = null;
if (job.isEmpty()) {
diff --git
a/linkis-computation-governance/linkis-entrance/src/main/scala/org/apache/linkis/entrance/restful/EntranceRestfulRemote.scala
b/linkis-computation-governance/linkis-entrance/src/main/scala/org/apache/linkis/entrance/restful/EntranceRestfulRemote.scala
index a016e9427..ac4c3648b 100644
---
a/linkis-computation-governance/linkis-entrance/src/main/scala/org/apache/linkis/entrance/restful/EntranceRestfulRemote.scala
+++
b/linkis-computation-governance/linkis-entrance/src/main/scala/org/apache/linkis/entrance/restful/EntranceRestfulRemote.scala
@@ -43,18 +43,19 @@ trait EntranceRestfulRemote {
@RequestMapping(value = Array("/entrance/{id}/status"), method =
Array(RequestMethod.GET))
def status(
+ req: HttpServletRequest,
@PathVariable("id") id: String,
@RequestParam(value = "taskID", required = false) taskID: String
): Message
@RequestMapping(value = Array("/entrance/{id}/progress"), method =
Array(RequestMethod.GET))
- def progress(@PathVariable("id") id: String): Message
+ def progress(req: HttpServletRequest, @PathVariable("id") id: String):
Message
@RequestMapping(
value = Array("/entrance/{id}/progressWithResource"),
method = Array(RequestMethod.GET)
)
- def progressWithResource(@PathVariable("id") id: String): Message
+ def progressWithResource(req: HttpServletRequest, @PathVariable("id") id:
String): Message
@RequestMapping(value = Array("/entrance/{id}/log"), method =
Array(RequestMethod.GET))
def log(req: HttpServletRequest, @PathVariable("id") id: String): Message
@@ -67,9 +68,13 @@ trait EntranceRestfulRemote {
): Message
@RequestMapping(value = Array("/entrance/{id}/kill"), method =
Array(RequestMethod.GET))
- def kill(@PathVariable("id") id: String, @RequestParam("taskID") taskID:
java.lang.Long): Message
+ def kill(
+ req: HttpServletRequest,
+ @PathVariable("id") id: String,
+ @RequestParam("taskID") taskID: java.lang.Long
+ ): Message
@RequestMapping(value = Array("/entrance/{id}/pause"), method =
Array(RequestMethod.GET))
- def pause(@PathVariable("id") id: String): Message
+ def pause(req: HttpServletRequest, @PathVariable("id") id: String): Message
}
diff --git
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/ECResourceInfoRestfulApi.java
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/ECResourceInfoRestfulApi.java
index 256db9866..fd42a2cd0 100644
---
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/ECResourceInfoRestfulApi.java
+++
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/ECResourceInfoRestfulApi.java
@@ -63,9 +63,9 @@ public class ECResourceInfoRestfulApi {
public Message getECInfo(
HttpServletRequest req, @RequestParam(value = "ticketid") String
ticketid)
throws AMErrorException {
- String userName = ModuleUserUtils.getOperationUser(req, "getECInfo");
ECResourceInfoRecord ecResourceInfoRecord =
ecResourceInfoService.getECResourceInfoRecord(ticketid);
+ String userName = ModuleUserUtils.getOperationUser(req, "getECInfo
ticketid:") + ticketid;
if (null != ecResourceInfoRecord
&& (userName.equalsIgnoreCase(ecResourceInfoRecord.getCreateUser())
|| Configuration.isAdmin(userName))) {
@@ -82,9 +82,9 @@ public class ECResourceInfoRestfulApi {
@RequestMapping(path = "/delete/{ticketid}}", method = RequestMethod.DELETE)
public Message deleteECInfo(HttpServletRequest req,
@PathVariable("ticketid") String ticketid)
throws AMErrorException {
- String userName = ModuleUserUtils.getOperationUser(req, "deleteECInfo");
ECResourceInfoRecord ecResourceInfoRecord =
ecResourceInfoService.getECResourceInfoRecord(ticketid);
+ String userName = ModuleUserUtils.getOperationUser(req, "deleteECInfo
ticketid:" + ticketid);
if (null != ecResourceInfoRecord
&& (userName.equalsIgnoreCase(ecResourceInfoRecord.getCreateUser())
|| Configuration.isAdmin(userName))) {
diff --git
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
index f6a9b6cad..787ce885f 100644
---
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
+++
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
@@ -153,6 +153,7 @@ public class EMRestfulApi {
HttpServletRequest req,
@RequestParam(value = "onlyEditable", required = false) Boolean
onlyEditable) {
NodeHealthy[] nodeHealthy = NodeHealthy.values();
+ ModuleUserUtils.getOperationUser(req, "listAllNodeHealthyStatus");
if (onlyEditable) {
nodeHealthy =
new NodeHealthy[] {
diff --git
a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlProjectRestful.java
b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlProjectRestful.java
index e11db0da4..652e393c5 100644
---
a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlProjectRestful.java
+++
b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlProjectRestful.java
@@ -44,6 +44,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
+import java.text.MessageFormat;
import java.util.*;
import com.fasterxml.jackson.databind.JsonNode;
@@ -138,7 +139,8 @@ public class BmlProjectRestful {
@RequestParam(name = "projectName") String projectName,
@RequestParam(name = "file") List<MultipartFile> files)
throws ErrorException {
- String username = ModuleUserUtils.getOperationUser(request,
"uploadShareResource");
+ String username =
+ ModuleUserUtils.getOperationUser(request, "uploadShareResource
projectName:" + projectName);
Message message;
try {
LOGGER.info(
@@ -308,6 +310,10 @@ public class BmlProjectRestful {
resp.setHeader("Content-Disposition", "attachment");
String ip = HttpRequestHelper.getIp(request);
DownloadModel downloadModel = new DownloadModel(resourceId, version, user,
ip);
+ ModuleUserUtils.getOperationUser(
+ request,
+ MessageFormat.format(
+ "downloadShareResource,resourceId:{0},version:{1}", resourceId,
version));
try {
String projectName =
bmlProjectService.getProjectNameByResourceId(resourceId);
if (!bmlProjectService.checkAccessPriv(projectName, user)) {
@@ -403,6 +409,7 @@ public class BmlProjectRestful {
public Message getProjectInfo(
HttpServletRequest request,
@RequestParam(value = "projectName", required = false) String
projectName) {
+ ModuleUserUtils.getOperationUser(request, "getProjectInfo");
return Message.ok("Obtain project information successfully (获取工程信息成功)");
}
@@ -418,9 +425,14 @@ public class BmlProjectRestful {
@RequestMapping(path = "attachResourceAndProject", method =
RequestMethod.POST)
public Message attachResourceAndProject(
HttpServletRequest request, @RequestBody JsonNode jsonNode) throws
ErrorException {
- String username = ModuleUserUtils.getOperationUser(request,
"attachResourceAndProject");
String projectName = jsonNode.get(PROJECT_NAME_STR).textValue();
String resourceId = jsonNode.get("resourceId").textValue();
+ String username =
+ ModuleUserUtils.getOperationUser(
+ request,
+ MessageFormat.format(
+ "attachResourceAndProject,resourceId:{0},projectName:{1}",
+ resourceId, projectName));
LOGGER.info("begin to attach {} and {}", projectName, username);
bmlProjectService.attach(projectName, resourceId);
return Message.ok("attach resource and project ok");
@@ -439,8 +451,9 @@ public class BmlProjectRestful {
@RequestMapping(path = "updateProjectUsers", method = RequestMethod.POST)
public Message updateProjectUsers(HttpServletRequest request, @RequestBody
JsonNode jsonNode)
throws ErrorException {
- String username = ModuleUserUtils.getOperationUser(request,
"updateProjectUsers");
String projectName = jsonNode.get("projectName").textValue();
+ String username =
+ ModuleUserUtils.getOperationUser(request,
"updateProjectUsers,projectName:" + projectName);
LOGGER.info("{} begins to update project users for {}", username,
projectName);
List<String> editUsers = new ArrayList<>();
List<String> accessUsers = new ArrayList<>();
diff --git
a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlRestfulApi.java
b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlRestfulApi.java
index 99682d293..8125d706d 100644
---
a/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlRestfulApi.java
+++
b/linkis-public-enhancements/linkis-bml/linkis-bml-server/src/main/java/org/apache/linkis/bml/restful/BmlRestfulApi.java
@@ -118,7 +118,7 @@ public class BmlRestfulApi {
resourceId);
throw new BmlServerParaErrorException(SUBMITTED_INVALID.getErrorDesc());
}
-
+ ModuleUserUtils.getOperationUser(request, "getVersions,resourceId:" +
resourceId);
Integer current = 0;
Integer size = 0;
if (StringUtils.isEmpty(currentPage) ||
!StringUtils.isNumeric(currentPage)) {
@@ -203,7 +203,7 @@ public class BmlRestfulApi {
// 默认系统是wtss
system = Constant.DEFAULT_SYSTEM;
}
-
+ ModuleUserUtils.getOperationUser(request, "getResources,system:" + system);
Integer current = 0;
Integer size = 0;
if (StringUtils.isEmpty(currentPage) ||
!StringUtils.isNumeric(currentPage)) {
@@ -296,6 +296,9 @@ public class BmlRestfulApi {
String resourceId = jsonNode.get("resourceId").textValue();
String version = jsonNode.get("version").textValue();
+ ModuleUserUtils.getOperationUser(
+ request,
+ MessageFormat.format("deleteVersion,resourceId:{0},version:{1}",
resourceId, version));
// 检查资源和版本是否存在
if (!resourceService.checkResourceId(resourceId)
|| !versionService.checkVersion(resourceId, version)
@@ -384,7 +387,7 @@ public class BmlRestfulApi {
+ resourceId
+ "为空,非法或者已被删除!)");
}
-
+ ModuleUserUtils.getOperationUser(request, "deleteResource,resourceId:" +
resourceId);
Message message = null;
ResourceTask resourceTask =
taskService.createDeleteResourceTask(resourceId, user,
HttpRequestHelper.getIp(request));
@@ -446,7 +449,7 @@ public class BmlRestfulApi {
@RequestMapping(path = "deleteResources", method = RequestMethod.POST)
public Message deleteResources(HttpServletRequest request, @RequestBody
JsonNode jsonNode)
throws IOException, ErrorException {
- String user = RestfulUtils.getUserName(request);
+ String user = ModuleUserUtils.getOperationUser(request, "deleteResources");
List<String> resourceIds = new ArrayList<>();
if (null == jsonNode.get("resourceIds")) {
@@ -550,6 +553,8 @@ public class BmlRestfulApi {
if (StringUtils.isBlank(version)) {
version = versionService.getNewestVersion(resourceId);
}
+ ModuleUserUtils.getOperationUser(
+ request, MessageFormat.format("download,resourceId:{0},version:{1}",
resourceId, version));
// check version
if (!versionService.checkVersion(resourceId, version)) {
throw new BmlQueryFailException(
@@ -656,7 +661,7 @@ public class BmlRestfulApi {
@RequestParam(name = "maxVersion", required = false) Integer maxVersion,
@RequestParam(name = "file") List<MultipartFile> files)
throws ErrorException {
- String user = RestfulUtils.getUserName(req);
+ String user = ModuleUserUtils.getOperationUser(req, "uploadResource");
Message message;
try {
logger.info("User {} starts uploading resources (用户 {} 开始上传资源)", user,
user);
@@ -715,12 +720,13 @@ public class BmlRestfulApi {
@RequestParam("resourceId") String resourceId,
@RequestParam("file") MultipartFile file)
throws Exception {
- String user = RestfulUtils.getUserName(request);
if (StringUtils.isEmpty(resourceId) ||
!resourceService.checkResourceId(resourceId)) {
logger.error("error resourceId is {} ", resourceId);
throw new BmlServerParaErrorException(
"resourceId: " + resourceId + " is Null, illegal, or deleted!");
}
+ String user =
+ ModuleUserUtils.getOperationUser(request, "updateVersion,resourceId:"
+ resourceId);
if (StringUtils.isEmpty(versionService.getNewestVersion(resourceId))) {
logger.error(
"If the material has not been uploaded or has been deleted, please
call the upload interface first .(resourceId:{} 之前未上传物料,或物料已被删除,请先调用上传接口.)",
@@ -773,12 +779,10 @@ public class BmlRestfulApi {
@RequestParam(value = "resourceId", required = false) String resourceId,
HttpServletRequest request)
throws ErrorException {
- String user = RestfulUtils.getUserName(request);
-
if (StringUtils.isEmpty(resourceId) ||
!resourceService.checkResourceId(resourceId)) {
throw new
BmlServerParaErrorException(PARAMETER_IS_ILLEGAL.getErrorDesc());
}
-
+ String user = ModuleUserUtils.getOperationUser(request,
"getBasic,resourceId:" + resourceId);
Message message = null;
try {
Resource resource = resourceService.getResource(resourceId);
@@ -853,6 +857,10 @@ public class BmlRestfulApi {
String resourceId = jsonNode.get("resourceId").textValue();
String oldOwner = jsonNode.get("oldOwner").textValue();
String newOwner = jsonNode.get("newOwner").textValue();
+ ModuleUserUtils.getOperationUser(
+ request,
+ MessageFormat.format(
+ "download,resourceId:{0},oldOwner:{1},newOwner:{2}", resourceId,
oldOwner, newOwner));
resourceService.changeOwnerByResourceId(resourceId, oldOwner, newOwner);
return Message.ok("更新owner成功!");
}
@@ -869,9 +877,11 @@ public class BmlRestfulApi {
@RequestMapping(path = "copyResourceToAnotherUser", method =
RequestMethod.POST)
public Message copyResourceToAnotherUser(
HttpServletRequest request, @RequestBody JsonNode jsonNode) {
- String username = ModuleUserUtils.getOperationUser(request,
"copyResourceToAnotherUser");
String resourceId = jsonNode.get("resourceId").textValue();
String anotherUser = jsonNode.get("anotherUser").textValue();
+ String username =
+ ModuleUserUtils.getOperationUser(
+ request, "copyResourceToAnotherUser,resourceId:" + resourceId);
Message message = null;
try {
logger.info("用户 {} 开始 copy bml resource: {}", username, resourceId);
@@ -905,9 +915,13 @@ public class BmlRestfulApi {
@ApiOperationSupport(ignoreParameters = {"jsonNode"})
@RequestMapping(path = "rollbackVersion", method = RequestMethod.POST)
public Message rollbackVersion(HttpServletRequest request, @RequestBody
JsonNode jsonNode) {
- String username = ModuleUserUtils.getOperationUser(request,
"rollbackVersion");
String resourceId = jsonNode.get("resourceId").textValue();
String rollbackVersion = jsonNode.get("version").textValue();
+ String username =
+ ModuleUserUtils.getOperationUser(
+ request,
+ MessageFormat.format(
+ "download,resourceId:{0},rollbackVersion:{1}", resourceId,
rollbackVersion));
Message message = null;
try {
logger.info(
diff --git
a/linkis-public-enhancements/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
b/linkis-public-enhancements/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
index f1ac09fba..76e25c0e1 100644
---
a/linkis-public-enhancements/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
+++
b/linkis-public-enhancements/linkis-configuration/src/main/java/org/apache/linkis/configuration/restful/api/ConfigurationRestfulApi.java
@@ -41,6 +41,7 @@ import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -94,6 +95,10 @@ public class ConfigurationRestfulApi {
|| StringUtils.isBlank(token)) {
throw new ConfigurationException(PARAMS_CANNOT_BE_EMPTY.getErrorDesc());
}
+ ModuleUserUtils.getOperationUser(
+ req,
+ MessageFormat.format(
+ "addKeyForEngine,engineType:{0},version:{1},token:{2}",
engineType, version, token));
// todo 检验token
if (!token.equals(ConfigurationConfiguration.COPYKEYTOKEN)) {
throw new ConfigurationException(TOKEN_IS_ERROR.getErrorDesc());
@@ -120,12 +125,16 @@ public class ConfigurationRestfulApi {
@RequestParam(value = "version", required = false) String version,
@RequestParam(value = "creator", required = false) String creator)
throws ConfigurationException {
- String username = ModuleUserUtils.getOperationUser(req,
"getFullTreesByAppName");
if (creator != null && (creator.equals("通用设置") || creator.equals("全局设置")))
{
engineType = "*";
version = "*";
creator = "*";
}
+ String username =
+ ModuleUserUtils.getOperationUser(
+ req,
+ MessageFormat.format(
+ "ConfigurationException,engineType:{0},version:{1}",
engineType, version));
List labelList =
LabelEntityParser.generateUserCreatorEngineTypeLabelList(
username, creator, engineType, version);
diff --git
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextHistoryRestfulApi.java
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextHistoryRestfulApi.java
index a61c0a3f4..a9ef54024 100644
---
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextHistoryRestfulApi.java
+++
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextHistoryRestfulApi.java
@@ -25,6 +25,7 @@ import org.apache.linkis.cs.server.enumeration.ServiceType;
import org.apache.linkis.cs.server.scheduler.CsScheduler;
import org.apache.linkis.cs.server.scheduler.HttpAnswerJob;
import org.apache.linkis.server.Message;
+import org.apache.linkis.server.utils.ModuleUserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.StringUtils;
@@ -72,6 +73,7 @@ public class ContextHistoryRestfulApi implements
CsRestfulParent {
if (StringUtils.isEmpty(contextID.getContextId())) {
throw new CSErrorException(97000, "contxtId cannot be empty");
}
+ ModuleUserUtils.getOperationUser(req, "createHistory,contextID:" +
contextID.getContextId());
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.CREATE,
contextID, history);
return generateResponse(answerJob, "");
}
@@ -94,6 +96,7 @@ public class ContextHistoryRestfulApi implements
CsRestfulParent {
if (StringUtils.isEmpty(contextID.getContextId())) {
throw new CSErrorException(97000, "contxtId cannot be empty");
}
+ ModuleUserUtils.getOperationUser(req, "removeHistory,contextID:" +
contextID.getContextId());
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.REMOVE,
contextID, history);
return generateResponse(answerJob, "");
}
@@ -111,6 +114,7 @@ public class ContextHistoryRestfulApi implements
CsRestfulParent {
if (StringUtils.isEmpty(contextID.getContextId())) {
throw new CSErrorException(97000, "contxtId cannot be empty");
}
+ ModuleUserUtils.getOperationUser(req, "getHistories,contextID:" +
contextID.getContextId());
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.GET, contextID);
Message message = generateResponse(answerJob, "contextHistory");
return message;
@@ -135,6 +139,7 @@ public class ContextHistoryRestfulApi implements
CsRestfulParent {
if (StringUtils.isEmpty(contextID.getContextId())) {
throw new CSErrorException(97000, "contxtId cannot be empty");
}
+ ModuleUserUtils.getOperationUser(req, "getHistory,contextID:" +
contextID.getContextId());
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.GET, contextID,
source);
Message message = generateResponse(answerJob, "contextHistory");
return message;
@@ -155,6 +160,7 @@ public class ContextHistoryRestfulApi implements
CsRestfulParent {
if (StringUtils.isEmpty(contextID.getContextId())) {
throw new CSErrorException(97000, "contxtId cannot be empty");
}
+ ModuleUserUtils.getOperationUser(req, "searchHistory,contextID:" +
contextID.getContextId());
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.SEARCH,
contextID, keywords);
Message message = generateResponse(answerJob, "contextHistory");
return message;
diff --git
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextIDRestfulApi.java
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextIDRestfulApi.java
index 64fb4979a..fd7e83a6b 100644
---
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextIDRestfulApi.java
+++
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextIDRestfulApi.java
@@ -72,6 +72,10 @@ public class ContextIDRestfulApi implements CsRestfulParent {
public Message createContextID(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws InterruptedException, ClassNotFoundException, IOException,
CSErrorException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "createContextID,contextID:" +
contextID.getContextId());
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.CREATE,
contextID);
return generateResponse(answerJob, "contextId");
}
@@ -85,6 +89,7 @@ public class ContextIDRestfulApi implements CsRestfulParent {
if (StringUtils.isEmpty(id)) {
throw new CSErrorException(97000, "contxtId cannot be empty");
}
+ ModuleUserUtils.getOperationUser(req, "getContextID,contextID:" + id);
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.GET, id);
Message message = generateResponse(answerJob, "contextID");
return message;
@@ -100,6 +105,7 @@ public class ContextIDRestfulApi implements CsRestfulParent
{
if (StringUtils.isEmpty(contextID.getContextId())) {
throw new CSErrorException(97000, "contxtId cannot be empty");
}
+ ModuleUserUtils.getOperationUser(req, "updateContextID,contextID:" +
contextID.getContextId());
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.UPDATE,
contextID);
return generateResponse(answerJob, "");
}
@@ -114,6 +120,10 @@ public class ContextIDRestfulApi implements
CsRestfulParent {
throw new CSErrorException(97000, ContextHTTPConstant.CONTEXT_ID_STR + "
cannot be empty");
}
String id = jsonNode.get(ContextHTTPConstant.CONTEXT_ID_STR).textValue();
+ if (StringUtils.isEmpty(id)) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "resetContextID,contextID:" + id);
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.RESET, id);
return generateResponse(answerJob, "");
}
@@ -124,10 +134,11 @@ public class ContextIDRestfulApi implements
CsRestfulParent {
@RequestMapping(path = "removeContextID", method = RequestMethod.POST)
public Message removeContextID(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws InterruptedException, CSErrorException {
- String id = jsonNode.get("contextId").textValue();
+ String id = jsonNode.get(ContextHTTPConstant.CONTEXT_ID_STR).textValue();
if (StringUtils.isEmpty(id)) {
throw new CSErrorException(97000, "contxtId cannot be empty");
}
+ ModuleUserUtils.getOperationUser(req, "removeContextID,contextID:" + id);
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.REMOVE, id);
return generateResponse(answerJob, "");
}
@@ -158,7 +169,7 @@ public class ContextIDRestfulApi implements CsRestfulParent
{
@RequestParam(value = "pageNow", required = false) Integer paramPageNow,
@RequestParam(value = "pageSize", required = false) Integer
paramPageSize)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
- String username = ModuleUserUtils.getOperationUser(req);
+ String username = ModuleUserUtils.getOperationUser(req,
"searchContextIDByTime");
if (!Configuration.isAdmin(username)) {
throw new CSErrorException(97018, "Only station admins are allowed.");
}
diff --git
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextListenerRestfulApi.java
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextListenerRestfulApi.java
index 2546083c3..7bfc81379 100644
---
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextListenerRestfulApi.java
+++
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextListenerRestfulApi.java
@@ -28,6 +28,9 @@ import org.apache.linkis.cs.server.enumeration.ServiceType;
import org.apache.linkis.cs.server.scheduler.CsScheduler;
import org.apache.linkis.cs.server.scheduler.HttpAnswerJob;
import org.apache.linkis.server.Message;
+import org.apache.linkis.server.utils.ModuleUserUtils;
+
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
@@ -61,6 +64,10 @@ public class ContextListenerRestfulApi implements
CsRestfulParent {
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
String source = jsonNode.get("source").textValue();
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "onBindIDListener,contextID:" +
contextID.getContextId());
ContextIDListenerDomain listener = new CommonContextIDListenerDomain();
listener.setSource(source);
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.BIND,
contextID, listener);
@@ -77,6 +84,11 @@ public class ContextListenerRestfulApi implements
CsRestfulParent {
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
String source = jsonNode.get("source").textValue();
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(
+ req, "onBindKeyListener,contextID:" + contextID.getContextId());
ContextKey contextKey = getContextKeyFromJsonNode(jsonNode);
CommonContextKeyListenerDomain listener = new
CommonContextKeyListenerDomain();
listener.setSource(source);
@@ -90,6 +102,7 @@ public class ContextListenerRestfulApi implements
CsRestfulParent {
@RequestMapping(path = "heartbeat", method = RequestMethod.POST)
public Message heartbeat(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws InterruptedException, IOException, CSErrorException {
+ ModuleUserUtils.getOperationUser(req, "heartbeat");
String source = jsonNode.get("source").textValue();
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.HEARTBEAT,
source);
return generateResponse(answerJob, "ContextKeyValueBean");
diff --git
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextRestfulApi.java
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextRestfulApi.java
index 9399e5592..ff6b0218a 100644
---
a/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextRestfulApi.java
+++
b/linkis-public-enhancements/linkis-context-service/linkis-cs-server/src/main/java/org/apache/linkis/cs/server/restful/ContextRestfulApi.java
@@ -33,6 +33,8 @@ import org.apache.linkis.cs.server.scheduler.HttpAnswerJob;
import org.apache.linkis.server.Message;
import org.apache.linkis.server.utils.ModuleUserUtils;
+import org.apache.commons.lang3.StringUtils;
+
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -84,6 +86,10 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message getContextValue(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "getContextValue,contextID:" +
contextID.getContextId());
ContextKey contextKey = getContextKeyFromJsonNode(jsonNode);
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.GET, contextID,
contextKey);
Message message = generateResponse(answerJob, "contextValue");
@@ -103,6 +109,11 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message searchContextValue(HttpServletRequest req, @RequestBody
JsonNode jsonNode)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(
+ req, "searchContextValue,contextID:" + contextID.getContextId());
JsonNode condition = jsonNode.get("condition");
Map<Object, Object> conditionMap =
objectMapper.convertValue(condition, new TypeReference<Map<Object,
Object>>() {});
@@ -121,6 +132,10 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message setValueByKey(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws CSErrorException, IOException, ClassNotFoundException,
InterruptedException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "setValueByKey,contextID:" +
contextID.getContextId());
ContextKey contextKey = getContextKeyFromJsonNode(jsonNode);
ContextValue contextValue = getContextValueFromJsonNode(jsonNode);
HttpAnswerJob answerJob =
@@ -138,6 +153,10 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message setValue(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "setValue,contextID:" +
contextID.getContextId());
ContextKeyValue contextKeyValue = getContextKeyValueFromJsonNode(jsonNode);
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.SET, contextID,
contextKeyValue);
return generateResponse(answerJob, "");
@@ -153,6 +172,10 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message resetValue(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "resetValue,contextID:" +
contextID.getContextId());
ContextKey contextKey = getContextKeyFromJsonNode(jsonNode);
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.RESET,
contextID, contextKey);
return generateResponse(answerJob, "");
@@ -168,6 +191,10 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message removeValue(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "removeValue,contextID:" +
contextID.getContextId());
ContextKey contextKey = getContextKeyFromJsonNode(jsonNode);
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.REMOVE,
contextID, contextKey);
return generateResponse(answerJob, "");
@@ -183,6 +210,10 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message removeAllValue(HttpServletRequest req, @RequestBody JsonNode
jsonNode)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(req, "removeAllValue,contextID:" +
contextID.getContextId());
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.REMOVEALL,
contextID);
return generateResponse(answerJob, "");
}
@@ -201,6 +232,11 @@ public class ContextRestfulApi implements CsRestfulParent {
HttpServletRequest req, @RequestBody JsonNode jsonNode)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(
+ req, "removeAllValueByKeyPrefixAndContextType,contextID:" +
contextID.getContextId());
String contextType =
jsonNode.get(ContextHTTPConstant.CONTEXT_KEY_TYPE_STR).textValue();
String keyPrefix =
jsonNode.get(ContextHTTPConstant.CONTEXT_KEY_PREFIX_STR).textValue();
HttpAnswerJob answerJob =
@@ -221,6 +257,11 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message removeAllValueByKeyPrefix(HttpServletRequest req,
@RequestBody JsonNode jsonNode)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
ContextID contextID = getContextIDFromJsonNode(jsonNode);
+ if (StringUtils.isEmpty(contextID.getContextId())) {
+ throw new CSErrorException(97000, "contxtId cannot be empty");
+ }
+ ModuleUserUtils.getOperationUser(
+ req, "removeAllValueByKeyPrefix,contextID:" +
contextID.getContextId());
String keyPrefix =
jsonNode.get(ContextHTTPConstant.CONTEXT_KEY_PREFIX_STR).textValue();
HttpAnswerJob answerJob = submitRestJob(req, ServiceMethod.REMOVEALL,
contextID, keyPrefix);
return generateResponse(answerJob, "");
@@ -242,6 +283,7 @@ public class ContextRestfulApi implements CsRestfulParent {
|| (jsonNode.get("idList").isArray() && ((ArrayNode)
jsonNode.get("idList")).size() == 0)) {
throw new CSErrorException(97000, "idList cannot be empty.");
}
+ ModuleUserUtils.getOperationUser(req, "clearAllContextByID");
ArrayNode idArray = (ArrayNode) jsonNode.get("idList");
logger.info("clearAllContextByID idList size : {}", idArray.size());
List<String> idList = new ArrayList<>(idArray.size());
@@ -270,7 +312,7 @@ public class ContextRestfulApi implements CsRestfulParent {
public Message clearAllContextByID(
HttpServletRequest req, @RequestBody Map<String, Object> bodyMap)
throws InterruptedException, CSErrorException, IOException,
ClassNotFoundException {
- String username = ModuleUserUtils.getOperationUser(req);
+ String username = ModuleUserUtils.getOperationUser(req,
"clearAllContextByTime");
if (!Configuration.isAdmin(username)) {
throw new CSErrorException(97018, "Only station admins are allowed.");
}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApi.java
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApi.java
index 5c2f7b273..872038069 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApi.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-datasource-manager/server/src/main/java/org/apache/linkis/datasourcemanager/core/restful/DataSourceAdminRestfulApi.java
@@ -253,7 +253,8 @@ public class DataSourceAdminRestfulApi {
public Message removeEnvEntity(@PathVariable("envId") Long envId,
HttpServletRequest request) {
return RestfulApiHelper.doAndResponse(
() -> {
- String userName = ModuleUserUtils.getOperationUser(request,
"removeEnvEntity");
+ String userName =
+ ModuleUserUtils.getOperationUser(request,
"removeEnvEntity,envId:" + envId);
if (!RestfulApiHelper.isAdminUser(userName)) {
return Message.error("User '" + userName + "' is not admin
user[非管理员用户]");
}
@@ -280,7 +281,8 @@ public class DataSourceAdminRestfulApi {
throws ErrorException {
return RestfulApiHelper.doAndResponse(
() -> {
- String userName = ModuleUserUtils.getOperationUser(request,
"updateJsonEnv");
+ String userName =
+ ModuleUserUtils.getOperationUser(request, "updateJsonEnv,envId:"
+ envId);
if (!RestfulApiHelper.isAdminUser(userName)) {
return Message.error("User '" + userName + "' is not admin
user[非管理员用户]");
}
diff --git
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestful.java
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestful.java
index bf5ed7247..6a3189faf 100644
---
a/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestful.java
+++
b/linkis-public-enhancements/linkis-datasource/linkis-metadata-query/server/src/main/java/org/apache/linkis/metadata/query/server/restful/MetadataQueryRestful.java
@@ -70,7 +70,7 @@ public class MetadataQueryRestful {
return Message.error("'system' is invalid[系统名错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
- return Message.error("'dataSourceId' is invalid[数据源错误]");
+ return Message.error("'dataSourceName' is invalid[数据源错误]");
}
String userName =
ModuleUserUtils.getOperationUser(
@@ -113,7 +113,7 @@ public class MetadataQueryRestful {
return Message.error("'system' is invalid[系统名错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
- return Message.error("'dataSourceId' is invalid[数据源错误]");
+ return Message.error("'dataSourceName' is invalid[数据源错误]");
}
String userName =
ModuleUserUtils.getOperationUser(
@@ -152,7 +152,7 @@ public class MetadataQueryRestful {
return Message.error("'system' is invalid[系统名错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
- return Message.error("'dataSourceId' is invalid[数据源错误]");
+ return Message.error("'dataSourceName' is invalid[数据源错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(database).matches()) {
return Message.error("'database' is invalid[数据库名称错误]");
@@ -204,7 +204,7 @@ public class MetadataQueryRestful {
return Message.error("'table' is invalid[表名错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
- return Message.error("'dataSourceId' is invalid[数据源错误]");
+ return Message.error("'dataSourceName' is invalid[数据源错误]");
}
String userName =
ModuleUserUtils.getOperationUser(
@@ -258,7 +258,7 @@ public class MetadataQueryRestful {
return Message.error("'table' is invalid[表名错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
- return Message.error("'dataSourceId' is invalid[数据源错误]");
+ return Message.error("'dataSourceName' is invalid[数据源错误]");
}
String userName =
@@ -317,7 +317,7 @@ public class MetadataQueryRestful {
return Message.error("'table' is invalid[表名错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
- return Message.error("'dataSourceId' is invalid[数据源错误]");
+ return Message.error("'dataSourceName' is invalid[数据源错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(partition).matches()) {
return Message.error("'partition' is invalid[partition错误]");
@@ -375,7 +375,7 @@ public class MetadataQueryRestful {
return Message.error("'table' is invalid[表名错误]");
}
if (!MetadataUtils.nameRegexPattern.matcher(dataSourceName).matches()) {
- return Message.error("'dataSourceId' is invalid[数据源错误]");
+ return Message.error("'dataSourceName' is invalid[数据源错误]");
}
String userName =
diff --git
a/linkis-public-enhancements/linkis-error-code/linkis-error-code-server/src/main/java/org/apache/linkis/errorcode/server/restful/LinkisErrorCodeRestful.java
b/linkis-public-enhancements/linkis-error-code/linkis-error-code-server/src/main/java/org/apache/linkis/errorcode/server/restful/LinkisErrorCodeRestful.java
index 9f86ace36..4eab5aab2 100644
---
a/linkis-public-enhancements/linkis-error-code/linkis-error-code-server/src/main/java/org/apache/linkis/errorcode/server/restful/LinkisErrorCodeRestful.java
+++
b/linkis-public-enhancements/linkis-error-code/linkis-error-code-server/src/main/java/org/apache/linkis/errorcode/server/restful/LinkisErrorCodeRestful.java
@@ -21,6 +21,7 @@ import org.apache.linkis.errorcode.common.CommonConf;
import org.apache.linkis.errorcode.common.LinkisErrorCode;
import org.apache.linkis.errorcode.server.service.LinkisErrorCodeService;
import org.apache.linkis.server.Message;
+import org.apache.linkis.server.utils.ModuleUserUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -44,6 +45,7 @@ public class LinkisErrorCodeRestful {
@ApiOperation(value = "getErrorCodes", notes = "get error codes", response =
Message.class)
@RequestMapping(path = CommonConf.GET_ERRORCODE_URL, method =
RequestMethod.GET)
public Message getErrorCodes(HttpServletRequest request) {
+ ModuleUserUtils.getOperationUser(request, "getErrorCodes ");
List<LinkisErrorCode> errorCodes =
linkisErrorCodeService.getAllErrorCodes();
Message message = Message.ok();
message.data("errorCodes", errorCodes);
diff --git
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
index a46ffc5ee..2cfabb9d1 100644
---
a/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
+++
b/linkis-public-enhancements/linkis-instance-label/linkis-instance-label-server/src/main/java/org/apache/linkis/instance/label/restful/InstanceRestful.java
@@ -73,7 +73,7 @@ public class InstanceRestful {
response = Message.class)
@RequestMapping(path = "/allInstance", method = RequestMethod.GET)
public Message listAllInstanceWithLabel(HttpServletRequest req) throws
Exception {
- String userName = ModuleUserUtils.getOperationUser(req);
+ String userName = ModuleUserUtils.getOperationUser(req,
"listAllInstanceWithLabel");
if (!Configuration.isAdmin(userName)) {
throw new InstanceErrorException(
String.format(
@@ -103,7 +103,7 @@ public class InstanceRestful {
@RequestMapping(path = "/instanceLabel", method = RequestMethod.PUT)
public Message upDateInstanceLabel(HttpServletRequest req, @RequestBody
JsonNode jsonNode)
throws Exception {
- String userName = ModuleUserUtils.getOperationUser(req);
+ String userName = ModuleUserUtils.getOperationUser(req,
"upDateInstanceLabel");
if (!Configuration.isAdmin(userName)) {
throw new InstanceErrorException(
String.format(
@@ -153,6 +153,7 @@ public class InstanceRestful {
response = Message.class)
@RequestMapping(path = "/modifiableLabelKey", method = RequestMethod.GET)
public Message listAllModifiableLabelKey(HttpServletRequest req) {
+ ModuleUserUtils.getOperationUser(req, "upDateInstanceLabel");
Set<String> keyList = LabelUtils.listAllUserModifiableLabel();
return Message.ok().data("keyList", keyList);
}
@@ -161,6 +162,7 @@ public class InstanceRestful {
@RequestMapping(path = "/eurekaURL", method = RequestMethod.GET)
public Message getEurekaURL(HttpServletRequest request) throws Exception {
String eurekaURL = insLabelService.getEurekaURL();
+ ModuleUserUtils.getOperationUser(request, "upDateInstanceLabel");
return Message.ok().data("url", eurekaURL);
}
}
diff --git
a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/BMLFsRestfulApi.java
b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/BMLFsRestfulApi.java
index 448672896..08c595095 100644
---
a/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/BMLFsRestfulApi.java
+++
b/linkis-public-enhancements/linkis-script-dev/linkis-storage-script-dev-server/src/main/java/org/apache/linkis/filesystem/restful/api/BMLFsRestfulApi.java
@@ -39,6 +39,7 @@ import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
+import java.text.MessageFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -76,7 +77,11 @@ public class BMLFsRestfulApi {
@RequestParam(value = "projectName", required = false) String
projectName,
@RequestParam(value = "fileName", defaultValue = "test.sql") String
fileName)
throws IOException, WorkSpaceException {
- String userName = ModuleUserUtils.getOperationUser(req,
"openScriptFromBML");
+ String userName =
+ ModuleUserUtils.getOperationUser(
+ req,
+ MessageFormat.format(
+ "openScriptFromBML,resourceId:{0},fileName:{1}", resourceId,
fileName));
Map<String, Object> query = bmlHelper.query(userName, resourceId, version);
InputStream inputStream = (InputStream) query.get("stream");
try (FileSource fileSource = FileSource$.MODULE$.create(new
FsPath(fileName), inputStream)) {
@@ -117,7 +122,11 @@ public class BMLFsRestfulApi {
@RequestParam(value = "creator", required = false) String creator,
@RequestParam(value = "fileName", defaultValue = "test.sql") String
fileName)
throws IOException, WorkSpaceException {
- String userName = ModuleUserUtils.getOperationUser(req,
"openScriptFromBML");
+ String userName =
+ ModuleUserUtils.getOperationUser(
+ req,
+ MessageFormat.format(
+ "openScriptFromProductBML,resourceId:{0},fileName:{1}",
resourceId, fileName));
if (!StringUtils.isEmpty(creator)) {
userName = creator;
}
@@ -165,7 +174,11 @@ public class BMLFsRestfulApi {
String resourceId = (String) json.get("resourceId");
String creator = (String) json.get("creator");
String projectName = (String) json.get("projectName");
- String userName = ModuleUserUtils.getOperationUser(req, "saveScriptToBML"
+ fileName);
+ String userName =
+ ModuleUserUtils.getOperationUser(
+ req,
+ MessageFormat.format(
+ "saveScriptToBML,resourceId:{0},fileName:{1}", resourceId,
fileName));
ScriptFsWriter writer =
StorageScriptFsWriter.getScriptFsWriter(
new FsPath(fileName), Consts.UTF_8.toString(), null);
diff --git
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/api/UDFRestfulApi.java
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/api/UDFRestfulApi.java
index 81f24565d..a6f849e8f 100644
---
a/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/api/UDFRestfulApi.java
+++
b/linkis-public-enhancements/linkis-udf/linkis-udf-service/src/main/java/org/apache/linkis/udf/api/UDFRestfulApi.java
@@ -43,6 +43,7 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
+import java.text.MessageFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -418,7 +419,7 @@ public class UDFRestfulApi {
public Message Authenticate(HttpServletRequest req) {
Message message = null;
try {
- String userName = ModuleUserUtils.getOperationUser(req);
+ String userName = ModuleUserUtils.getOperationUser(req, "Authenticate");
if (StringUtils.isEmpty(userName)) {
throw new UDFException("UserName is Empty!");
}
@@ -486,7 +487,7 @@ public class UDFRestfulApi {
public Message shareUDF(HttpServletRequest req, @RequestBody JsonNode json)
throws Throwable {
Message message = null;
try {
- String userName = ModuleUserUtils.getOperationUser(req);
+ String userName = ModuleUserUtils.getOperationUser(req, "shareUDF");
if (StringUtils.isEmpty(userName)) {
throw new UDFException("UserName is Empty!");
}
@@ -540,7 +541,7 @@ public class UDFRestfulApi {
public Message getSharedUsers(HttpServletRequest req, @RequestBody JsonNode
json) {
Message message = null;
try {
- String userName = ModuleUserUtils.getOperationUser(req);
+ String userName = ModuleUserUtils.getOperationUser(req,
"getSharedUsers");
if (StringUtils.isEmpty(userName)) {
throw new UDFException("UserName is Empty!");
}
@@ -637,7 +638,7 @@ public class UDFRestfulApi {
public Message publishUDF(HttpServletRequest req, @RequestBody JsonNode
json) {
Message message = null;
try {
- String userName = ModuleUserUtils.getOperationUser(req);
+ String userName = ModuleUserUtils.getOperationUser(req, "publishUDF");
if (StringUtils.isEmpty(userName)) {
throw new UDFException("username is empty!");
}
@@ -676,12 +677,14 @@ public class UDFRestfulApi {
public Message rollbackUDF(HttpServletRequest req, @RequestBody JsonNode
json) {
Message message = null;
try {
- String userName = ModuleUserUtils.getOperationUser(req);
+ long udfId = json.get("udfId").longValue();
+ String version = json.get("version").textValue();
+ String userName =
+ ModuleUserUtils.getOperationUser(
+ req, MessageFormat.format("rollbackUDF,udfId:{0},version:{1}",
udfId, version));
if (StringUtils.isEmpty(userName)) {
throw new UDFException("username is empty!");
}
- long udfId = json.get("udfId").longValue();
- String version = json.get("version").textValue();
verifyOperationUser(userName, udfId);
udfService.rollbackUDF(udfId, version, userName);
message = Message.ok();
@@ -700,7 +703,7 @@ public class UDFRestfulApi {
public Message versionList(HttpServletRequest req, @RequestParam("udfId")
long udfId) {
Message message = null;
try {
- String userName = ModuleUserUtils.getOperationUser(req);
+ String userName = ModuleUserUtils.getOperationUser(req,
"versionList,udfId:" + udfId);
if (StringUtils.isEmpty(userName)) {
throw new UDFException("username is empty!");
}
@@ -749,7 +752,7 @@ public class UDFRestfulApi {
public Message managerPages(HttpServletRequest req, @RequestBody JsonNode
jsonNode) {
Message message = null;
try {
- String userName = ModuleUserUtils.getOperationUser(req);
+ String userName = ModuleUserUtils.getOperationUser(req, "managerPages");
if (StringUtils.isEmpty(userName)) {
throw new UDFException("username is empty!");
}
@@ -798,7 +801,9 @@ public class UDFRestfulApi {
long udfId = json.get("udfId").longValue();
String version = json.get("version").textValue();
- String userName = ModuleUserUtils.getOperationUser(req, "downloadUdf " +
udfId);
+ String userName =
+ ModuleUserUtils.getOperationUser(
+ req, MessageFormat.format("downloadUdf,udfId:{0},version:{1}",
udfId, version));
if (StringUtils.isEmpty(userName)) {
throw new UDFException("username is empty!");
}
@@ -840,7 +845,9 @@ public class UDFRestfulApi {
long udfId = json.get("udfId").longValue();
String version = json.get("version").textValue();
- String userName = ModuleUserUtils.getOperationUser(req, "downloadUdf " +
udfId);
+ String userName =
+ ModuleUserUtils.getOperationUser(
+ req, MessageFormat.format("downloadUdf,udfId:{0},version:{1}",
udfId, version));
if (StringUtils.isEmpty(userName)) {
throw new UDFException("username is empty!");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]