From 3edcf811c7a4b5dc8de9117d88d199b0d74e81a6 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 16 八月 2024 16:42:09 +0800
Subject: [PATCH] 2024-08-16 朱宝民 优化代码
---
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