diff --git a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java index c90acdab05..ea3abba81b 100644 --- a/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java +++ b/backend/src/main/java/io/dataease/auth/service/impl/ShiroServiceImpl.java @@ -122,6 +122,7 @@ public class ShiroServiceImpl implements ShiroService { filterChainDefinitionMap.put("/panel/group/exportDetails", ANON); filterChainDefinitionMap.put("/dataset/field/linkMultFieldValues", "link"); filterChainDefinitionMap.put("/dataset/field/linkMappingFieldValues", "link"); + filterChainDefinitionMap.put("/systemInfo/proxyUserLoginInfo/**", ANON); filterChainDefinitionMap.put("/**", "authc"); diff --git a/backend/src/main/java/io/dataease/controller/sys/SystemInfoController.java b/backend/src/main/java/io/dataease/controller/sys/SystemInfoController.java index 4177a004a1..5322ca8e12 100644 --- a/backend/src/main/java/io/dataease/controller/sys/SystemInfoController.java +++ b/backend/src/main/java/io/dataease/controller/sys/SystemInfoController.java @@ -3,6 +3,7 @@ package io.dataease.controller.sys; import io.dataease.dto.UserLoginInfoDTO; import io.dataease.service.SystemInfoService; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @@ -19,6 +20,11 @@ public class SystemInfoController { @GetMapping("userLoginInfo") public UserLoginInfoDTO userLoginInfo() throws IOException { - return systemInfoService.getUserLoginInfo(); + return systemInfoService.getUserLoginInfo(null); + } + + @GetMapping("proxyUserLoginInfo/{userId}") + public UserLoginInfoDTO proxyUserLoginInfo(@PathVariable String userId) throws IOException { + return systemInfoService.getUserLoginInfo(userId); } } diff --git a/backend/src/main/java/io/dataease/service/SystemInfoService.java b/backend/src/main/java/io/dataease/service/SystemInfoService.java index f696a6fea5..b9d2dfb7e3 100644 --- a/backend/src/main/java/io/dataease/service/SystemInfoService.java +++ b/backend/src/main/java/io/dataease/service/SystemInfoService.java @@ -1,15 +1,30 @@ package io.dataease.service; +import io.dataease.auth.api.dto.CurrentUserDto; import io.dataease.commons.utils.AuthUtils; +import io.dataease.commons.utils.BeanUtils; import io.dataease.commons.utils.IPUtils; import io.dataease.dto.UserLoginInfoDTO; +import io.dataease.plugins.common.base.domain.SysUser; +import io.dataease.plugins.common.base.mapper.SysUserMapper; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import javax.annotation.Resource; + @Service public class SystemInfoService { + @Resource + private SysUserMapper sysUserMapper; - public UserLoginInfoDTO getUserLoginInfo() { + public UserLoginInfoDTO getUserLoginInfo(String userId) { + if (StringUtils.isNotEmpty(userId)) { + SysUser userInfo = sysUserMapper.selectByPrimaryKey(Long.parseLong(userId)); + CurrentUserDto userDto = new CurrentUserDto(); + BeanUtils.copyBean(userDto, userInfo); + return new UserLoginInfoDTO(userDto, IPUtils.get()); + } return new UserLoginInfoDTO(AuthUtils.getUser(), IPUtils.get()); } diff --git a/frontend/src/api/systemInfo/userLogin.js b/frontend/src/api/systemInfo/userLogin.js index 95add502fb..87ab9fc4af 100644 --- a/frontend/src/api/systemInfo/userLogin.js +++ b/frontend/src/api/systemInfo/userLogin.js @@ -8,6 +8,15 @@ export function userLoginInfo() { }) } -export default { - userLoginInfo +export function proxyUserLoginInfo(userId) { + return request({ + url: '/systemInfo/proxyUserLoginInfo/' + userId, + method: 'get', + loading: false + }) +} + +export default { + userLoginInfo, + proxyUserLoginInfo } diff --git a/frontend/src/components/canvas/components/editor/Preview.vue b/frontend/src/components/canvas/components/editor/Preview.vue index b4f021fb8f..26c50fedde 100644 --- a/frontend/src/components/canvas/components/editor/Preview.vue +++ b/frontend/src/components/canvas/components/editor/Preview.vue @@ -5,7 +5,7 @@ :style="customStyle" @scroll="canvasScroll" > - +
{ + const method = this.userId ? proxyUserLoginInfo : userLoginInfo + method(this.userId).then(res => { const userInfo = res.data activeWatermark(this.panelInfo.watermarkInfo.settingContent, userInfo, 'preview-main-canvas-main', this.canvasId, this.panelInfo.watermarkOpen) }) diff --git a/frontend/src/views/link/view/index.vue b/frontend/src/views/link/view/index.vue index b71adaf3c5..37bda6356e 100644 --- a/frontend/src/views/link/view/index.vue +++ b/frontend/src/views/link/view/index.vue @@ -5,6 +5,7 @@ :component-data="mainCanvasComponentData" :canvas-style-data="canvasStyleData" :panel-info="panelInfo" + :user-id="user" />