diff --git a/src/main/java/cn/lihongjie/coal/coalWashingDailyAnalysis/service/CoalWashingDailyAnalysisService.java b/src/main/java/cn/lihongjie/coal/coalWashingDailyAnalysis/service/CoalWashingDailyAnalysisService.java index 93da5e0f..e42d226e 100644 --- a/src/main/java/cn/lihongjie/coal/coalWashingDailyAnalysis/service/CoalWashingDailyAnalysisService.java +++ b/src/main/java/cn/lihongjie/coal/coalWashingDailyAnalysis/service/CoalWashingDailyAnalysisService.java @@ -154,6 +154,7 @@ public class CoalWashingDailyAnalysisService entity.setName(productService.get(entity.getProduct().getId()).getName()); } this.repository.save(entity); + sseService.broadcast("coalWashingDailyAnalysis." + entity.getId(), ImmutableMap.of("id", entity.getId(), "event", "update")); return getById(entity.getId()); } @@ -182,6 +183,7 @@ public class CoalWashingDailyAnalysisService entity.setName(productService.get(entity.getProduct().getId()).getName()); } this.repository.save(entity); + sseService.broadcast("coalWashingDailyAnalysis." + entity.getId(), ImmutableMap.of("id", entity.getId(), "event", "update")); return getById(entity.getId()); } diff --git a/src/main/java/cn/lihongjie/coal/filter/AuthFilter.java b/src/main/java/cn/lihongjie/coal/filter/AuthFilter.java index 1997fab1..7f52e244 100644 --- a/src/main/java/cn/lihongjie/coal/filter/AuthFilter.java +++ b/src/main/java/cn/lihongjie/coal/filter/AuthFilter.java @@ -59,6 +59,11 @@ public class AuthFilter extends OncePerRequestFilter { @Nullable private static Optional getResourceDto( HttpServletRequest request, HttpServletResponse response) { + + if (RequestUtils.isSse(request)){ + return Optional.empty(); + } + Optional resource = Optional.ofNullable( (ResourceDto) request.getAttribute(Constants.HTTP_ATTR_RESOURCE)); @@ -146,16 +151,21 @@ public class AuthFilter extends OncePerRequestFilter { stopWatch.start("hasResource"); - boolean hasPermission = userService.hasResource(user, resource.get().getId()) && !RequestUtils.isSse(request); + if (!RequestUtils.isSse(request)) { - stopWatch.stop(); + boolean hasPermission = userService.hasResource(user, resource.get().getId()); - if (!hasPermission) { + stopWatch.stop(); - RequestUtils.writeResponse( - new BizException("invalidAccess", "当前资源未授权,请联系机构管理员处理。"), response); - } else { + if (!hasPermission) { + RequestUtils.writeResponse( + new BizException("invalidAccess", "当前资源未授权,请联系机构管理员处理。"), response); + } else { + + doFilter(request, response, filterChain); + } + }else { doFilter(request, response, filterChain); } } catch (Exception e) { diff --git a/src/main/java/cn/lihongjie/coal/filter/ResourceFilter.java b/src/main/java/cn/lihongjie/coal/filter/ResourceFilter.java index f79336c0..f4116099 100644 --- a/src/main/java/cn/lihongjie/coal/filter/ResourceFilter.java +++ b/src/main/java/cn/lihongjie/coal/filter/ResourceFilter.java @@ -42,6 +42,7 @@ public class ResourceFilter extends OncePerRequestFilter { if (RequestUtils.isSse(request)){ doFilter(request, response, filterChain); + return; } Optional resource =