From ac36bcd41519764d9a79eaffca3fe41e6ecb89f9 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期四, 09 十一月 2023 11:30:17 +0800 Subject: [PATCH] 1、增加是否为开发阶段的配置,基于此配置,进行判断,若开发阶段设置临时数据源名称,及不进行登录及权限验证。 2、分配各个子系统id生成器的后缀 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java | 73 ++++++++++++++++++++++-------------- 1 files changed, 44 insertions(+), 29 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java index 8ff3393..fbfa354 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java @@ -4,7 +4,7 @@ import com.dy.common.multiDataSource.DataSourceContext; import com.dy.common.webFilter.UserTokenContext; import com.dy.common.webUtil.BaseResponseUtils; -import com.mysql.jdbc.StringUtils; +import com.mysql.cj.util.StringUtils; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; @@ -31,6 +31,9 @@ @Component public class SsoAspect { + @Value("${pipIrr.global.dev}") + public String isDevStage ;//鏄惁涓哄紑鍙戦樁娈� + @Value("${pipIrr.sso.checkUrl}") public String SsoCheckUrl ; @@ -47,43 +50,55 @@ @Around("dyPointCut()") public Object execute(ProceedingJoinPoint point) throws Throwable { - MethodSignature signature = (MethodSignature) point.getSignature(); - Method method = signature.getMethod(); - SsoAop aop = method.getAnnotation(SsoAop.class) ; - if (Objects.nonNull(aop)){ - String token = UserTokenContext.get() ; - String power = aop.power() ; - String[] allPower = aop.ifAllPower() ; - String[] anyPower = aop.ifAnyPower() ; - Object rObj = this.check(token, power, allPower, anyPower); - if(rObj != null){ - if(rObj instanceof SsoVo ssoVo){ - if(ssoVo.logined){ - if(ssoVo.hasPower){ - if(!StringUtils.isNullOrEmpty(ssoVo.dataSourceName)){ - DataSourceContext.set(ssoVo.dataSourceName); - return point.proceed(); + if(isDevStage != null && !isDevStage.trim().equals("") && isDevStage.trim().equalsIgnoreCase("true")){ + return point.proceed(); + }else{ + MethodSignature signature = (MethodSignature) point.getSignature(); + Method method = signature.getMethod(); + SsoAop aop = method.getAnnotation(SsoAop.class) ; + if (Objects.nonNull(aop)){ + String power = aop.value() ; + if(power.trim().equals("")){ + power = aop.power() ; + } + if(power.trim().equals("-1")){ + //涓嶈繘琛岀櫥褰曞強鏉冮檺楠岃瘉 + return point.proceed(); + }else{ + String[] allPower = aop.ifAllPower() ; + String[] anyPower = aop.ifAnyPower() ; + String token = UserTokenContext.get() ; + Object rObj = this.check(token, power, allPower, anyPower); + if(rObj != null){ + if(rObj instanceof SsoVo ssoVo){ + if(ssoVo.logined){ + if(ssoVo.hasPower){ + if(!StringUtils.isNullOrEmpty(ssoVo.dataSourceName)){ + DataSourceContext.set(ssoVo.dataSourceName); + return point.proceed(); + }else{ + //鏃犳暟鎹簮 + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌褰撳墠鐧诲綍鐢ㄦ埛鎵�灞炴満鏋勬爣绛撅紙鏁版嵁婧愬悕锛�") ; + } + }else{ + //鏃犳潈闄� + return BaseResponseUtils.buildNoPower() ; + } }else{ - //鏃犳暟鎹簮 - return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌褰撳墠鐧诲綍鐢ㄦ埛鎵�灞炴満鏋勬爣绛撅紙鏁版嵁婧愬悕锛�") ; + //鏈櫥褰� + return BaseResponseUtils.buildToLogin() ; } }else{ - //鏃犳潈闄� - return BaseResponseUtils.buildNoPower() ; + return rObj ; } }else{ - //鏈櫥褰� - return BaseResponseUtils.buildToLogin() ; + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛宑heck鏂规硶杩斿洖null") ; } - }else{ - return rObj ; } }else{ - return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛宑heck鏂规硶杩斿洖null") ; + //宸茬粡杩涘叆娉ㄨВ澶勭悊浜嗭紝杩樺緱涓嶅埌娉ㄨВ锛岃繖绉嶆儏鍐垫槸涓嶅彲鑳界殑銆� + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛孌yAop娉ㄨВ涓簄ull") ; } - }else{ - //宸茬粡杩涘叆娉ㄨВ澶勭悊浜嗭紝杩樺緱涓嶅埌娉ㄨВ锛岃繖绉嶆儏鍐垫槸涓嶅彲鑳界殑銆� - return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛孌yAop娉ㄨВ涓簄ull") ; } } -- Gitblit v1.8.0