From 930a0288d01349d575287c2cbc6082b076203220 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 2 Mar 2022 11:23:25 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix:=20=E5=85=AC=E5=85=B1=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E8=A7=86=E5=9B=BEapi=E7=BC=BA=E5=B0=91=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/controller/panel/api/LinkApi.java | 10 ++++------ .../dataease/controller/panel/server/LinkServer.java | 11 +++-------- frontend/src/api/link/index.js | 4 ++-- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java b/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java index 0a8094aa22..48fd91e51d 100644 --- a/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java +++ b/backend/src/main/java/io/dataease/controller/panel/api/LinkApi.java @@ -1,6 +1,5 @@ package io.dataease.controller.panel.api; - import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.dataease.auth.annotation.DePermission; import io.dataease.commons.constants.DePermissionType; @@ -19,7 +18,6 @@ import java.util.Map; @RequestMapping("/api/link") public interface LinkApi { - @DePermission(type = DePermissionType.PANEL, value = "resourceId") @ApiOperation("重置密码") @PostMapping("/resetPwd") @@ -45,7 +43,6 @@ public interface LinkApi { @PostMapping("/currentGenerate/{resourceId}") GenerateDto currentGenerate(String resourceId); - @ApiOperation("验证访问") @PostMapping("/validate") ValidateDto validate(LinkValidateRequest request) throws Exception; @@ -59,10 +56,11 @@ public interface LinkApi { Object resourceDetail(@PathVariable String resourceId); @ApiOperation("视图详息") - @PostMapping("/viewDetail/{viewId}") - Object viewDetail(@PathVariable String viewId, @RequestBody ChartExtRequest requestList) throws Exception; + @PostMapping("/viewDetail/{viewId}/{panelId}") + Object viewDetail(@PathVariable("viewId") String viewId, @PathVariable("panelId") String panelId, + @RequestBody ChartExtRequest requestList) throws Exception; @ApiOperation("压缩链接") @PostMapping("/shortUrl") - String shortUrl(@RequestBody Map param); + String shortUrl(@RequestBody Map param); } diff --git a/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java b/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java index 43ab59b9a0..56f0e7fa0e 100644 --- a/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java +++ b/backend/src/main/java/io/dataease/controller/panel/server/LinkServer.java @@ -1,6 +1,5 @@ package io.dataease.controller.panel.server; - import com.auth0.jwt.JWT; import com.auth0.jwt.interfaces.DecodedJWT; import io.dataease.auth.filter.F2CLinkFilter; @@ -25,18 +24,15 @@ import javax.servlet.http.HttpServletRequest; import java.net.URLDecoder; import java.util.Map; - @RestController public class LinkServer implements LinkApi { - @Autowired private PanelLinkService panelLinkService; @Resource private ChartViewService chartViewService; - @Override public void replacePwd(@RequestBody PasswordRequest request) { panelLinkService.password(request); @@ -47,7 +43,6 @@ public class LinkServer implements LinkApi { panelLinkService.changeEnablePwd(request); } - @Override public void resetOverTime(@RequestBody OverTimeRequest request) { panelLinkService.overTime(request); @@ -96,8 +91,9 @@ public class LinkServer implements LinkApi { } @Override - public Object viewDetail(String viewId, ChartExtRequest requestList) throws Exception { - HttpServletRequest request =((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + public Object viewDetail(String viewId, String panelId, ChartExtRequest requestList) throws Exception { + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()) + .getRequest(); String linkToken = request.getHeader(F2CLinkFilter.LINK_TOKEN_KEY); DecodedJWT jwt = JWT.decode(linkToken); Long userId = jwt.getClaim("userId").asLong(); @@ -105,7 +101,6 @@ public class LinkServer implements LinkApi { return chartViewService.getData(viewId, requestList); } - @Override public String shortUrl(Map param) { String resourceId = param.get("resourceId"); diff --git a/frontend/src/api/link/index.js b/frontend/src/api/link/index.js index 7cf27c9bff..eaa5133cfa 100644 --- a/frontend/src/api/link/index.js +++ b/frontend/src/api/link/index.js @@ -64,9 +64,9 @@ export function loadResource(resourceId) { }) } -export function viewInfo(id, data) { +export function viewInfo(id, panelId, data) { return request({ - url: 'api/link/viewDetail/' + id, + url: 'api/link/viewDetail/' + id + '/' + panelId, method: 'post', hideMsg: true, data From ba00ce3250af96a6f94053e911d8f95f234f1f9f Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 2 Mar 2022 12:36:09 +0800 Subject: [PATCH 2/4] =?UTF-8?q?refactor:=20=E5=88=86=E4=BA=AB=E4=BB=A3?= =?UTF-8?q?=E7=90=86=E6=96=B9=E6=B3=95=E8=BF=94=E5=9B=9E=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/controller/panel/PanelGroupController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java index 3c84fffad6..1c39bf4a55 100644 --- a/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java +++ b/backend/src/main/java/io/dataease/controller/panel/PanelGroupController.java @@ -80,7 +80,7 @@ public class PanelGroupController { @DePermissionProxy(paramIndex = 1) @DePermission(type = DePermissionType.PANEL, level = ResourceAuthLevel.PANNEL_LEVEL_VIEW) @PostMapping("/proxy/findOne/{id}") - public PanelGroupWithBLOBs proxyFindOne(@PathVariable String id, @RequestBody PermissionProxy proxy) + public PanelGroupDTO proxyFindOne(@PathVariable String id, @RequestBody PermissionProxy proxy) throws Exception { return panelGroupService.findOne(id); } From dfd22d3d7c107acd415a930048754e3fee5583ac Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 2 Mar 2022 12:53:11 +0800 Subject: [PATCH 3/4] =?UTF-8?q?fix:=20=E7=BB=84=E7=BB=87=E6=8E=88=E6=9D=83?= =?UTF-8?q?=E7=BA=A7=E8=81=94=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/plugins/server/XAuthServer.java | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/plugins/server/XAuthServer.java b/backend/src/main/java/io/dataease/plugins/server/XAuthServer.java index b6e71bdf5f..7538a59e38 100644 --- a/backend/src/main/java/io/dataease/plugins/server/XAuthServer.java +++ b/backend/src/main/java/io/dataease/plugins/server/XAuthServer.java @@ -1,6 +1,5 @@ package io.dataease.plugins.server; - import io.dataease.auth.api.dto.CurrentUserDto; import io.dataease.commons.constants.AuthConstants; import io.dataease.commons.utils.AuthUtils; @@ -20,6 +19,8 @@ import io.dataease.plugins.xpack.auth.service.AuthXpackService; import springfox.documentation.annotations.ApiIgnore; import java.util.*; +import java.util.stream.Collectors; + @ApiIgnore @RequestMapping("/plugin/auth") @RestController @@ -74,11 +75,31 @@ public class XAuthServer { } String authCacheKey = getAuthCacheKey(request); if (StringUtils.isNotBlank(authCacheKey)) { - CacheUtils.remove(authCacheKey, request.getAuthTargetType() + request.getAuthTarget()); + if (StringUtils.equals("dept", request.getAuthTargetType())) { + List authTargets = getAuthModels(request.getAuthTarget(), request.getAuthTargetType(), + user.getUserId(), user.getIsAdmin()); + if (CollectionUtils.isNotEmpty(authTargets)) { + authTargets.forEach(deptId -> { + CacheUtils.remove(authCacheKey, request.getAuthTargetType() + deptId); + }); + } + } else { + CacheUtils.remove(authCacheKey, request.getAuthTargetType() + request.getAuthTarget()); + } + } }); } + private List getAuthModels(String id, String type, Long userId, Boolean isAdmin) { + AuthXpackService sysAuthService = SpringContextUtil.getBean(AuthXpackService.class); + List vAuthModelDTOS = sysAuthService + .searchAuthModelTree(new XpackBaseTreeRequest(id, type, "children"), userId, isAdmin); + List authSources = Optional.ofNullable(vAuthModelDTOS).orElse(new ArrayList<>()).stream() + .map(XpackVAuthModelDTO::getId) + .collect(Collectors.toList()); + return authSources; + } private String getAuthCacheKey(XpackSysAuthRequest request) { if (CollectionUtils.isEmpty(cacheTypes)) { From 539b4a93c665bed247e4a2e4d1381b5c2e164a78 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 2 Mar 2022 14:11:17 +0800 Subject: [PATCH 4/4] =?UTF-8?q?style:=20=E7=BC=96=E8=BE=91=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E8=B7=B3=E8=BD=AC=E6=BB=9A=E5=8A=A8=E6=9D=A1=E5=AE=BD?= =?UTF-8?q?=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/layout/index.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/layout/index.vue b/frontend/src/layout/index.vue index 6b74d3ca00..2d609a192b 100644 --- a/frontend/src/layout/index.vue +++ b/frontend/src/layout/index.vue @@ -170,8 +170,8 @@ export default { .full-height { height: 100vh !important; ::-webkit-scrollbar { - width: 0px; - height: 0px; + width: 5px; + height: 5px; } }