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,14 +50,24 @@
    @Around("dyPointCut()")
    public Object execute(ProceedingJoinPoint point) throws Throwable {
        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 token = UserTokenContext.get() ;
            String power = aop.power() ;
                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){
@@ -81,11 +94,13 @@
            }else{
                return BaseResponseUtils.buildError("后端系统出错,check方法返回null") ;
            }
                }
        }else{
            //已经进入注解处理了,还得不到注解,这种情况是不可能的。
            return BaseResponseUtils.buildError("后端系统出错,DyAop注解为null") ;
        }
    }
    }
    /**
     * 调用SSO系统进行验证