From 4342b12d28b15e61bbed4d4d5e64a6a2bacae952 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期二, 27 二月 2024 12:56:11 +0800 Subject: [PATCH] 1、完善代码; 2、实现开闭上报处理 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java | 70 +++++++++++++---------------------- 1 files changed, 26 insertions(+), 44 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 f9792d2..660982d 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 @@ -35,7 +35,7 @@ public String isDevStage ;//鏄惁涓哄紑鍙戦樁娈� @Value("${pipIrr.sso.checkUrl}") - public String SsoCheckUrl ; + public String ssoCheckUrl; private RestTemplate restTemplate; @@ -45,10 +45,10 @@ } @Pointcut("@annotation(com.dy.common.aop.SsoAop)") - public void dyPointCut() { + public void ssoPointCut() { } - @Around("dyPointCut()") + @Around("ssoPointCut()") public Object execute(ProceedingJoinPoint point) throws Throwable { if(isDevStage != null && !isDevStage.trim().equals("") && isDevStage.trim().equalsIgnoreCase("true")){ return point.proceed(); @@ -57,45 +57,34 @@ 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); - Object obj = point.proceed(); - DataSourceContext.remove(); - return obj ; - }else{ - //鏃犳暟鎹簮 - return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌褰撳墠鐧诲綍鐢ㄦ埛鎵�灞炴満鏋勬爣绛撅紙鏁版嵁婧愬悕锛�") ; - } + String token = UserTokenContext.get() ; + Object rObj = this.check(token); + if(rObj != null){ + if(rObj instanceof SsoVo ssoVo){ + if(ssoVo.logined){ + if(ssoVo.hasPower){ + if(!StringUtils.isNullOrEmpty(ssoVo.dataSourceName)){ + DataSourceContext.set(ssoVo.dataSourceName); + Object obj = point.proceed(); + DataSourceContext.remove(); + return obj ; }else{ - //鏃犳潈闄� - return BaseResponseUtils.buildNoPower() ; + //鏃犳暟鎹簮 + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛屾湭寰楀埌褰撳墠鐧诲綍鐢ㄦ埛鎵�灞炴満鏋勬爣绛撅紙鏁版嵁婧愬悕锛�") ; } }else{ - //鏈櫥褰� - return BaseResponseUtils.buildToLogin() ; + //鏃犳潈闄� + return BaseResponseUtils.buildNoPower() ; } }else{ - return rObj ; + //鏈櫥褰� + return BaseResponseUtils.buildToLogin() ; } }else{ - return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛宑heck鏂规硶杩斿洖null") ; + return rObj ; } + }else{ + return BaseResponseUtils.buildError("鍚庣绯荤粺鍑洪敊锛宑heck鏂规硶杩斿洖null") ; } }else{ //宸茬粡杩涘叆娉ㄨВ澶勭悊浜嗭紝杩樺緱涓嶅埌娉ㄨВ锛岃繖绉嶆儏鍐垫槸涓嶅彲鑳界殑銆� @@ -107,21 +96,14 @@ /** * 璋冪敤SSO绯荤粺杩涜楠岃瘉 * @param token Header涓殑鐢ㄦ埛token - * @param power 涓�涓潈闄� - * @param allPower 澶氫釜鏉冮檺 - * @param anyPower 澶氫釜鏉冮檺 * @return 杩斿洖瀵硅薄 */ - private Object check(String token, String power, String[] allPower, String[] anyPower){ - if(!StringUtils.isNullOrEmpty(SsoCheckUrl)){ - String url = UriComponentsBuilder.fromUriString(SsoCheckUrl) + private Object check(String token){ + if(!StringUtils.isNullOrEmpty(ssoCheckUrl)){ + String url = UriComponentsBuilder.fromUriString(ssoCheckUrl) .queryParam("token", token) - .queryParam("power", power) - .queryParam("allPower", (Object) allPower) - .queryParam("anyPower", (Object) anyPower) .build() .toUriString(); - // 鐢变簬鑾峰彇student鎺ュ彛鍜变滑璁剧疆浜哹asicauth锛屾墍浠ラ渶瑕佸湪璇锋眰鏃堕厤缃� HttpHeaders headers = new HttpHeaders(); HttpEntity<?> httpEntity = new HttpEntity<>(headers); ResponseEntity<SsoVo> response = null; -- Gitblit v1.8.0