Browse Source

广药单点登录,bug修改

xiaofei 2 years ago
parent
commit
1b5d2e5630

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

@@ -96,7 +96,7 @@ public class OpenApiController {
     @ApiResponses({@ApiResponse(code = 200, message = "返回消息", response = Result.class)})
     @Aac(auth = BOOL.FALSE)
     public void logout(@ApiParam(value = "学校编码") @PathVariable("schoolCode") String schoolCode,
-                       @ApiParam(value = "sessionId", required = true) @RequestParam String gSessionId) throws IOException {
+                       @ApiParam(value = "sessionId", required = false) @RequestParam(required = false) String gSessionId) throws IOException {
         switch (SchoolCodeEnum.valueOf(schoolCode.toUpperCase())) {
             case XJTU:
                 xjtuCasUtil.logout(schoolCode, gSessionId);

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

@@ -110,7 +110,7 @@ public class GdpuCasUtil {
         HttpServletResponse response = ServletUtil.getResponse();
         HttpSession session = request.getSession();
         authInfoService.appHasExpired(schoolCode);
-        //注销本系统session
+//        //注销本系统session
         session.invalidate();
 
         BasicSchool basicSchool = commonCacheService.schoolCache(schoolCode);
@@ -126,10 +126,10 @@ public class GdpuCasUtil {
                     schoolServiceAddress = schoolServiceAddress.substring(0, schoolServiceAddress.lastIndexOf("/"));
                 }
             }
-            log.info("cas:logout:logoutUrl:{}", CasUtils.getLogoutUrl(schoolServiceAddress));
+            log.info("cas:logout:logoutUrl:{}", CasUtils.getLogoutUrl(request, schoolServiceAddress));
             //跳转至注销后地址
             response.setHeader("Access-Control-Allow-Origin", SystemConstant.PATH_MATCH);
-            response.sendRedirect(CasUtils.getLogoutUrl(schoolServiceAddress));
+            response.sendRedirect(CasUtils.getLogoutUrl(request, schoolServiceAddress));
         }
     }
 

+ 3 - 3
cas/src/main/java/com/qmth/teachcloud/cas/util/gdpu/CasUtils.java

@@ -97,11 +97,11 @@ public class CasUtils {
     /**
      * 获取登出地址
      */
-    public static String getLogoutUrl(String schoolServiceAddress)
+    public static String getLogoutUrl(HttpServletRequest request ,String schoolServiceAddress)
             throws UnsupportedEncodingException {
         // 获取本次请求的根Path
-        String loginUrlRoot = schoolServiceAddress
-                + Constants.CAS_LOGIN_URL;
+        String loginUrlRoot = getBasePath(request)
+                + Constants.SSO_LOGIN_URI;
         String encodeLoginUrlRoot = URLEncoder.encode(loginUrlRoot,
                 StandardCharsets.UTF_8.toString());
         return schoolServiceAddress + Constants.CAS_LOGOUT_URL + "?" + Constants.SERVICE_KEY + "="

+ 1 - 1
cas/src/main/java/com/qmth/teachcloud/cas/util/gdpu/Constants.java

@@ -3,7 +3,7 @@ package com.qmth.teachcloud.cas.util.gdpu;
 public interface Constants {
 
     // CAS根地址
-//    String CAS_BASE_PATH = "https://cas.gdpu.eud.cn";
+    String CAS_BASE_PATH = "https://cas.gdpu.edu.cn";
 
     // 业务系统需要显式使用的端口配置,包括80端口,如果不需要配置显式端口,则配置空字符串""即可
     String CLIENT_SYSTEM_EXPLICIT_PORT = "";

+ 0 - 3
teachcloud-exchange-common/src/main/java/com/qmth/teachcloud/exchange/common/service/impl/CommonServiceImpl.java

@@ -69,9 +69,6 @@ public class CommonServiceImpl implements CommonService {
             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);
             }
         }