diff --git a/src/main/java/cn/lihongjie/coal/aop/ControllerAop.java b/src/main/java/cn/lihongjie/coal/aop/ControllerAop.java index 29ab09ab..d2017914 100644 --- a/src/main/java/cn/lihongjie/coal/aop/ControllerAop.java +++ b/src/main/java/cn/lihongjie/coal/aop/ControllerAop.java @@ -67,31 +67,30 @@ public class ControllerAop { } else { - OrgAdmin orgAdmin = ObjectUtils.defaultIfNull(AnnotationUtils.findAnnotation(method, OrgAdmin.class), AnnotationUtils.findAnnotation(method.getClass(), OrgAdmin.class)); + if (!Ctx.isSysAdmin()) { - if (orgAdmin != null && orgAdmin.value() && !Ctx.isOrgAdmin()) { + OrgAdmin orgAdmin = ObjectUtils.defaultIfNull(AnnotationUtils.findAnnotation(method, OrgAdmin.class), AnnotationUtils.findAnnotation(method.getClass(), OrgAdmin.class)); + + if (orgAdmin != null && orgAdmin.value() && !Ctx.isOrgAdmin()) { - return R.fail("invalidAccess", "非法访问,请联系机构管理员。"); + return R.fail("invalidAccess", "非法访问,请联系机构管理员。"); - } + } - SysAdmin sysAdmin = ObjectUtils.defaultIfNull(AnnotationUtils.findAnnotation(method, SysAdmin.class), AnnotationUtils.findAnnotation(method.getClass(), SysAdmin.class)); + SysAdmin sysAdmin = ObjectUtils.defaultIfNull(AnnotationUtils.findAnnotation(method, SysAdmin.class), AnnotationUtils.findAnnotation(method.getClass(), SysAdmin.class)); - if (sysAdmin != null && sysAdmin.value() && !Ctx.isSysAdmin()) { + if (sysAdmin != null && sysAdmin.value() && !Ctx.isSysAdmin()) { - return R.fail("invalidAccess", "非法访问,请联系系统管理员。"); + return R.fail("invalidAccess", "非法访问,请联系系统管理员。"); - } + } - UserEntity user = Ctx.currentUser(); - - - if (!(user.getSysAdmin() != null && user.getSysAdmin())) { + UserEntity user = Ctx.currentUser(); if (ObjectUtils.>defaultIfNull(user.getRoles(), new ArrayList<>()) @@ -101,7 +100,8 @@ public class ControllerAop { .noneMatch(x -> x.getUrl().equalsIgnoreCase(request.getRequestURI().replaceAll(request.getContextPath(), "")))) { - }{ + } + { return R.fail("invalidAccess", "当前资源未授权,请联系机构管理员处理。"); }