From 7a76aa4311c86413ff964ed882f592edec5dc470 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 20 五月 2024 21:37:54 +0800 Subject: [PATCH] 1、完善协议实现代码; 2、实体协议数据处理自动任务(报警及状态+定时上报数据); 3、数据库实体id自动付值插件优化。 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/aop/SsoAspect.java | 77 ++++++++++++++------------------------ 1 files changed, 29 insertions(+), 48 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..b837f44 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 @@ -14,10 +14,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.core.annotation.Order; -import org.springframework.http.HttpEntity; -import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; -import org.springframework.http.ResponseEntity; +import org.springframework.http.*; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import org.springframework.web.util.UriComponentsBuilder; @@ -35,7 +32,7 @@ public String isDevStage ;//鏄惁涓哄紑鍙戦樁娈� @Value("${pipIrr.sso.checkUrl}") - public String SsoCheckUrl ; + public String ssoCheckUrl; private RestTemplate restTemplate; @@ -45,10 +42,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 +54,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,22 +93,17 @@ /** * 璋冪敤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(); + headers.setContentType(MediaType.parseMediaType("application/json;charset=UTF-8")); + HttpEntity<?> httpEntity = new HttpEntity<>(headers); ResponseEntity<SsoVo> response = null; try { -- Gitblit v1.8.0