From 9249ac97bd4b05a6acfb88b5e8565887e47db623 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 17 Aug 2022 18:11:00 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86-?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E7=AE=A1=E7=90=86):=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=99=BB=E5=BD=95=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/auth/server/AuthServer.java | 2 ++ .../commons/constants/SysLogConstants.java | 8 ++++++- .../io/dataease/plugins/server/CasServer.java | 3 +++ .../io/dataease/plugins/server/SSOServer.java | 3 +++ .../dataease/service/sys/log/LogService.java | 21 ++++++++++++++++--- .../resources/i18n/messages_en_US.properties | 1 + .../resources/i18n/messages_zh_CN.properties | 1 + .../resources/i18n/messages_zh_TW.properties | 1 + 8 files changed, 36 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/auth/server/AuthServer.java b/backend/src/main/java/io/dataease/auth/server/AuthServer.java index 26c01c0ea5..50f16218e8 100644 --- a/backend/src/main/java/io/dataease/auth/server/AuthServer.java +++ b/backend/src/main/java/io/dataease/auth/server/AuthServer.java @@ -10,6 +10,7 @@ import io.dataease.auth.entity.TokenInfo; import io.dataease.auth.service.AuthUserService; import io.dataease.auth.util.JWTUtils; import io.dataease.auth.util.RsaUtil; +import io.dataease.commons.constants.SysLogConstants; import io.dataease.commons.utils.*; import io.dataease.controller.sys.request.LdapAddRequest; import io.dataease.exception.DataEaseException; @@ -130,6 +131,7 @@ public class AuthServer implements AuthApi { // 记录token操作时间 result.put("token", token); ServletUtils.setToken(token); + DeLogUtils.save(SysLogConstants.OPERATE_TYPE.LOGIN, SysLogConstants.SOURCE_TYPE.USER, user.getUserId(), null, null, null); authUserService.clearCache(user.getUserId()); return result; } diff --git a/backend/src/main/java/io/dataease/commons/constants/SysLogConstants.java b/backend/src/main/java/io/dataease/commons/constants/SysLogConstants.java index c6606211fa..69cbc00165 100644 --- a/backend/src/main/java/io/dataease/commons/constants/SysLogConstants.java +++ b/backend/src/main/java/io/dataease/commons/constants/SysLogConstants.java @@ -22,7 +22,13 @@ public class SysLogConstants { CREATELINK(8, "OPERATE_TYPE_CREATELINK"), DELETELINK(9, "OPERATE_TYPE_DELETELINK"), MODIFYLINK(10, "OPERATE_TYPE_MODIFYLINK"), - UPLOADFILE(11, "OPERATE_TYPE_UPLOADFILE"); + UPLOADFILE(11, "OPERATE_TYPE_UPLOADFILE"), + + LOGIN(12, "OPERATE_TYPE_LOGIN"), + + VIEW(13, "OPERATE_TYPE_VIEW"), + + EXPORT(14, "OPERATE_TYPE_EXPORT"); private Integer value; private String name; OPERATE_TYPE(Integer value, String name) { diff --git a/backend/src/main/java/io/dataease/plugins/server/CasServer.java b/backend/src/main/java/io/dataease/plugins/server/CasServer.java index 6d082e854f..72b7d400b1 100644 --- a/backend/src/main/java/io/dataease/plugins/server/CasServer.java +++ b/backend/src/main/java/io/dataease/plugins/server/CasServer.java @@ -5,7 +5,9 @@ import io.dataease.auth.entity.SysUserEntity; import io.dataease.auth.entity.TokenInfo; import io.dataease.auth.service.AuthUserService; import io.dataease.auth.util.JWTUtils; +import io.dataease.commons.constants.SysLogConstants; import io.dataease.commons.utils.CodingUtil; +import io.dataease.commons.utils.DeLogUtils; import io.dataease.commons.utils.LogUtil; import io.dataease.commons.utils.ServletUtils; @@ -68,6 +70,7 @@ public class CasServer { ServletUtils.setToken(token); Cookie cookie_token = new Cookie("Authorization", token);cookie_token.setPath("/"); response.addCookie(cookie_token); + DeLogUtils.save(SysLogConstants.OPERATE_TYPE.LOGIN, SysLogConstants.SOURCE_TYPE.USER, sysUserEntity.getUserId(), null, null, null); }catch(Exception e) { diff --git a/backend/src/main/java/io/dataease/plugins/server/SSOServer.java b/backend/src/main/java/io/dataease/plugins/server/SSOServer.java index 3056caeb2e..c748cca333 100644 --- a/backend/src/main/java/io/dataease/plugins/server/SSOServer.java +++ b/backend/src/main/java/io/dataease/plugins/server/SSOServer.java @@ -9,6 +9,8 @@ import java.util.Map; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; +import io.dataease.commons.constants.SysLogConstants; +import io.dataease.commons.utils.DeLogUtils; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -80,6 +82,7 @@ public class SSOServer { String token = JWTUtils.sign(tokenInfo, realPwd); ServletUtils.setToken(token); + DeLogUtils.save(SysLogConstants.OPERATE_TYPE.LOGIN, SysLogConstants.SOURCE_TYPE.USER, sysUserEntity.getUserId(), null, null, null); Cookie cookie_token = new Cookie("Authorization", token); cookie_token.setPath("/"); diff --git a/backend/src/main/java/io/dataease/service/sys/log/LogService.java b/backend/src/main/java/io/dataease/service/sys/log/LogService.java index 1e512eef1a..f4fbc4ebeb 100644 --- a/backend/src/main/java/io/dataease/service/sys/log/LogService.java +++ b/backend/src/main/java/io/dataease/service/sys/log/LogService.java @@ -170,6 +170,14 @@ public class LogService { results.add(folderItem); } + FolderItem userLogin = new FolderItem(); + SysLogConstants.OPERATE_TYPE operateTypeLogin = SysLogConstants.OPERATE_TYPE.LOGIN; + SysLogConstants.SOURCE_TYPE sourceTypeLogin = SysLogConstants.SOURCE_TYPE.USER; + userLogin.setId(operateTypeLogin.getValue() + "-" + sourceTypeLogin.getValue()); + String operateTypeName = SysLogConstants.operateTypeName(operateTypeLogin.getValue()); + String sourceTypeName = sourceTypeLogin.getName(); + userLogin.setName(Translator.get(operateTypeName) + Translator.get(sourceTypeName)); + results.add(userLogin); return results; } @@ -195,9 +203,16 @@ public class LogService { sysLogWithBLOBs.setRemark(gson.toJson(sysLogDTO.getRemarks())); } sysLogWithBLOBs.setTime(System.currentTimeMillis()); - sysLogWithBLOBs.setUserId(user.getUserId()); - sysLogWithBLOBs.setLoginName(user.getUsername()); - sysLogWithBLOBs.setNickName(user.getNickName()); + if (ObjectUtils.isNotEmpty(user)) { + sysLogWithBLOBs.setUserId(user.getUserId()); + sysLogWithBLOBs.setLoginName(user.getUsername()); + sysLogWithBLOBs.setNickName(user.getNickName()); + } else if (sysLogDTO.getOperateType() == SysLogConstants.OPERATE_TYPE.LOGIN.getValue()) { + sysLogWithBLOBs.setUserId(Long.parseLong(sysLogDTO.getSourceId())); + sysLogWithBLOBs.setLoginName(sysLogDTO.getSourceName()); + sysLogWithBLOBs.setNickName(sysLogDTO.getSourceName()); + } + // sysLogWithBLOBs.setIp(ip); sysLogMapper.insert(sysLogWithBLOBs); } diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index 2e1bd37dc5..d14d00dabc 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -142,6 +142,7 @@ OPERATE_TYPE_CREATELINK=Create Link OPERATE_TYPE_DELETELINK=Delete Link OPERATE_TYPE_MODIFYLINK=Modify Link OPERATE_TYPE_UPLOADFILE=Upload +OPERATE_TYPE_LOGIN=Login SOURCE_TYPE_DATASOURCE=DATASOURCE SOURCE_TYPE_DATASET=DATASET diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index 2f8612b73a..39c4733993 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -140,6 +140,7 @@ OPERATE_TYPE_CREATELINK=\u521B\u5EFA\u516C\u5171\u94FE\u63A5 OPERATE_TYPE_DELETELINK=\u5220\u9664\u516C\u5171\u94FE\u63A5 OPERATE_TYPE_MODIFYLINK=\u4FEE\u6539\u516C\u5171\u94FE\u63A5 OPERATE_TYPE_UPLOADFILE=\u4E0A\u4F20 +OPERATE_TYPE_LOGIN=\u767B\u5F55 SOURCE_TYPE_DATASOURCE=\u6570\u636E\u6E90 SOURCE_TYPE_DATASET=\u6570\u636E\u96C6 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index e16df43349..f113a7e01f 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -141,6 +141,7 @@ OPERATE_TYPE_CREATELINK=\u5275\u5EFA\u516C\u5171\u93C8\u63A5 OPERATE_TYPE_DELETELINK=\u522A\u9664\u516C\u5171\u93C8\u63A5 OPERATE_TYPE_MODIFYLINK=\u4FEE\u6539\u516C\u5171\u93C8\u63A5 OPERATE_TYPE_UPLOADFILE=\u4E0A\u50B3 +OPERATE_TYPE_LOGIN=\u767B\u9304 SOURCE_TYPE_DATASOURCE=\u6578\u64DA\u6E90 SOURCE_TYPE_DATASET=\u6578\u64DA\u96C6