Эх сурвалжийг харах

广药单点登录,bug修改

xiaofei 2 жил өмнө
parent
commit
30127f03ce

+ 9 - 9
cas/src/main/java/com/qmth/teachcloud/cas/api/OpenApiController.java

@@ -142,15 +142,15 @@ public class OpenApiController {
                     response.sendRedirect(Constants.CAS_LOGIN_URL);
                 }
                 break;
-//            case GDPU:
-//                redirectParams = gdpuCasUtil.zxzkLogin(schoolCode);
-//                if (Objects.nonNull(redirectParams)) {
-//                    commonService.redirectLogic(redirectParams.getEmployeeNo(), redirectParams.getSchoolCode(), redirectParams.getReturnUrl(), Objects.nonNull(redirectParams.getOpenParams()) ? JacksonUtil.parseJson(redirectParams.getOpenParams()) : null);
-//                } else {
-//                    response.setHeader("Access-Control-Allow-Origin", SystemConstant.PATH_MATCH);
-//                    response.sendRedirect(com.qmth.teachcloud.cas.util.gdpu.Constants.CAS_LOGIN_URL);
-//                }
-//                break;
+            case GDPU:
+                redirectParams = gdpuCasUtil.zxzkLogin(schoolCode);
+                if (Objects.nonNull(redirectParams)) {
+                    commonService.redirectLogic(redirectParams.getEmployeeNo(), redirectParams.getSchoolCode(), redirectParams.getReturnUrl(), Objects.nonNull(redirectParams.getOpenParams()) ? JacksonUtil.parseJson(redirectParams.getOpenParams()) : null);
+                } else {
+                    response.setHeader("Access-Control-Allow-Origin", SystemConstant.PATH_MATCH);
+                    response.sendRedirect(com.qmth.teachcloud.cas.util.gdpu.Constants.CAS_LOGIN_URL);
+                }
+                break;
             default:
                 break;
         }

+ 21 - 20
cas/src/main/java/com/qmth/teachcloud/cas/util/GdpuCasUtil.java

@@ -11,6 +11,7 @@ import com.qmth.teachcloud.exchange.common.service.AuthInfoService;
 import com.qmth.teachcloud.exchange.common.service.CommonCacheService;
 import com.qmth.teachcloud.exchange.common.util.JacksonUtil;
 import com.qmth.teachcloud.exchange.common.util.ServletUtil;
+import net.psctech.sso.filter.LoginFilter;
 import org.ly.uap.client.authentication.AttributePrincipal;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -132,24 +133,24 @@ public class GdpuCasUtil {
         }
     }
 
-//    /**
-//     * 知学登录
-//     *
-//     * @param schoolCode
-//     * @return
-//     * @throws IOException
-//     */
-//    public RedirectParams zxzkLogin(String schoolCode) throws IOException {
-//        String logoutUrl = null;
-//        HttpServletRequest request = ServletUtil.getRequest();
-//        HttpSession session = request.getSession();
-//        String userName = "";
-//        Object object = session.getAttribute(LoginFilter.CONST_CAS_USERNAME);
-//        RedirectParams redirectParams = null;
-//        if (object != null) {
-//            userName = object.toString();
-//            redirectParams = new RedirectParams(userName, schoolCode, logoutUrl, null);
-//        }
-//        return redirectParams;
-//    }
+    /**
+     * 知学登录
+     *
+     * @param schoolCode
+     * @return
+     * @throws IOException
+     */
+    public RedirectParams zxzkLogin(String schoolCode) throws IOException {
+        String logoutUrl = null;
+        HttpServletRequest request = ServletUtil.getRequest();
+        HttpSession session = request.getSession();
+        String userName = "";
+        Object object = session.getAttribute(LoginFilter.CONST_CAS_USERNAME);
+        RedirectParams redirectParams = null;
+        if (object != null) {
+            userName = object.toString();
+            redirectParams = new RedirectParams(userName, schoolCode, logoutUrl, null);
+        }
+        return redirectParams;
+    }
 }

+ 1 - 0
teachcloud-exchange-common/src/main/java/com/qmth/teachcloud/exchange/common/contant/SystemConstant.java

@@ -65,6 +65,7 @@ public class SystemConstant {
     public static final String PATH_SUBSTR = "/#";
     public static final String METHOD = "post";
     public static final String SCHOOL_SERVICE_ADDRESS = "schoolServiceAddress";
+    public static final String TEACH_CLOUD_PRINT = "teachcloudPrint";
     public static final String CAS_VUE_LOGIN_PATH = "/#/login-open";
 
     /**

+ 11 - 9
teachcloud-exchange-common/src/main/java/com/qmth/teachcloud/exchange/common/service/impl/CommonServiceImpl.java

@@ -1,5 +1,6 @@
 package com.qmth.teachcloud.exchange.common.service.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.qmth.boot.tools.signature.SignatureEntity;
 import com.qmth.boot.tools.signature.SignatureType;
 import com.qmth.teachcloud.exchange.common.bean.dto.syssetting.SimpleObject;
@@ -61,15 +62,17 @@ public class CommonServiceImpl implements CommonService {
         Optional.ofNullable(basicSchool).orElseThrow(() -> ExceptionResultEnum.PARAMS_ERROR.exception("学校信息不存在"));
         Map<String, SimpleObject> mapSetting = commonCacheService.getSysSetting(basicSchool.getId());
         String teachcloudLoginUrl = null;
+        log.info("mapSetting1 value:{}", JSONObject.toJSONString(mapSetting));
         if (!CollectionUtils.isEmpty(mapSetting)) {
-            SimpleObject simpleObject = mapSetting.get(SystemConstant.SCHOOL_SERVICE_ADDRESS);
-            Objects.requireNonNull(simpleObject, "未配置学校cas地址");
-            String schoolServiceAddress = simpleObject.getValue();
-            if (Objects.nonNull(schoolServiceAddress) && !Objects.equals(schoolServiceAddress.trim(), "")) {
-                if (schoolServiceAddress.lastIndexOf("/") == schoolServiceAddress.length() - 1) {
-                    schoolServiceAddress = schoolServiceAddress.substring(0, schoolServiceAddress.lastIndexOf("/"));
-                }
-                teachcloudLoginUrl = schoolServiceAddress + SystemConstant.CAS_VUE_LOGIN_PATH;
+            SimpleObject simpleObject = mapSetting.get(SystemConstant.TEACH_CLOUD_PRINT);
+            log.info("simpleObject1 value:{}", JSONObject.toJSONString(simpleObject));
+            Objects.requireNonNull(simpleObject, "未配置知学知考地址");
+            String teachCloudPrint = simpleObject.getValue();
+            if (Objects.nonNull(teachCloudPrint) && !Objects.equals(teachCloudPrint.trim(), "")) {
+//                if (schoolServiceAddress.lastIndexOf("/") == schoolServiceAddress.length() - 1) {
+//                    schoolServiceAddress = schoolServiceAddress.substring(0, schoolServiceAddress.lastIndexOf("/"));
+//                }
+                teachcloudLoginUrl = teachCloudPrint.replace("/#/login", SystemConstant.CAS_VUE_LOGIN_PATH);
             }
         }
         if (Objects.isNull(teachcloudLoginUrl) || Objects.equals(teachcloudLoginUrl, "")) {
@@ -81,7 +84,6 @@ public class CommonServiceImpl implements CommonService {
         if (Objects.isNull(schoolCode) || Objects.equals(schoolCode, "")) {
             throw ExceptionResultEnum.PARAMS_ERROR.exception("学校code不存在");
         }
-//        accountUser = URLDecoder.decode(accountUser, SystemConstant.CHARSET_NAME);
 
         long timestamp = System.currentTimeMillis();
 //        String path = teachcloudLoginUrl.substring(teachcloudLoginUrl.indexOf(SystemConstant.PATH_SUBSTR), teachcloudLoginUrl.length());