xiatian 1 week geleden
bovenliggende
commit
5df25df7b5

+ 4 - 6
pom.xml

@@ -24,11 +24,10 @@
     </properties>
 
     <dependencies>
-    <dependency>
-    <groupId>org.springframework.boot</groupId>
-    <artifactId>spring-boot-devtools</artifactId>
-    <optional>true</optional>
-</dependency>
+            <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-logging</artifactId>
+        </dependency>
 <dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
@@ -45,7 +44,6 @@
 <dependency>
     <groupId>jakarta.servlet.jsp.jstl</groupId>
     <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
-    <version>3.0.0</version>
 </dependency>
 <dependency>
     <groupId>org.glassfish.web</groupId>

+ 6 - 4
src/main/java/cn/com/qmth/ac/controller/AuthController.java

@@ -6,9 +6,10 @@ import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.alibaba.fastjson.JSONObject;
+
 import cn.com.qmth.ac.bean.RedirectParam;
 import cn.com.qmth.ac.service.CommonService;
 import cn.com.qmth.ac.util.Result;
@@ -36,9 +37,10 @@ public class AuthController {
     @ApiOperation(value = "cas鉴权退出接口")
     @RequestMapping(value = "logout/{schoolCode}", method = RequestMethod.GET)
     @ApiResponses({ @ApiResponse(code = 200, message = "返回消息", response = Result.class) })
-    public void logout(@ApiParam(value = "学校编码") @PathVariable("schoolCode") String schoolCode,
-            @ApiParam(value = "sessionId", required = false) @RequestParam(required = false) String gSessionId) {
-        commonService.logout(schoolCode);
+    public JSONObject logout(@ApiParam(value = "学校编码") @PathVariable("schoolCode") String schoolCode) {
+        JSONObject js = new JSONObject();
+        js.put("url", commonService.logout(schoolCode));
+        return js;
     }
 
 }

+ 1 - 1
src/main/java/cn/com/qmth/ac/service/CommonService.java

@@ -6,7 +6,7 @@ public interface CommonService {
 
     RedirectParam authentication(String schoolCode);
 
-    void logout(String schoolCode);
+    String logout(String schoolCode);
 
     public void redirect(RedirectParam param);
 }

+ 3 - 10
src/main/java/cn/com/qmth/ac/service/impl/CommonServiceImpl.java

@@ -52,7 +52,7 @@ public class CommonServiceImpl implements CommonService {
 
                 String url = param.getReturnUrl() + "/admin/access?loginName=" + param.getLoginName() + "&orgId="
                         + param.getRootOrgId() + "&appId=" + param.getAppId() + "&timestamp=" + timestamp + "&token="
-                        + token + "&from=cas";
+                        + token + "&from=cas" + "&scode=" + param.getSchoolCode();
                 response.sendRedirect(url);
             } else {
                 response.sendRedirect(param.getReturnUrl());
@@ -150,15 +150,8 @@ public class CommonServiceImpl implements CommonService {
     }
 
     @Override
-    public void logout(String schoolCode) {
-        HttpServletResponse response = ServletUtil.getResponse();
-
-        response.setHeader(SystemConstant.ACCESS_CONTROL_ALLOW_ORIGIN, SystemConstant.PATH_MATCH);
-        try {
-            response.sendRedirect(getLogoutUrl(schoolCode));
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
+    public String logout(String schoolCode) {
+        return getLogoutUrl(schoolCode);
     }
 
     private String getLogoutUrl(String schoolCode) {

+ 2 - 4
src/main/resources/application.properties

@@ -3,12 +3,10 @@ server.servlet.session.timeout=PT2H
 server.servlet.context-path=/
 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
 spring.jackson.time-zone=GMT+8
-com.qmth.logging.root-level=info
-com.qmth.logging.file-path=logs/auth-center.log
-server.error.whitelabel.enabled=false
+logging.level.root=info
+logging.file.name=logs/auth-center.log
 spring.mvc.view.prefix=/WEB-INF/jsp/
 spring.mvc.view.suffix=.jsp
-server.servlet.jsp.init-parameters.development=true
 examcloud.auth.center.host=https://www.exam-cloud.cn
 # guangkai cas configs
 examcloud.cas.authserver.gdrtvu=https://authserver.ougd.cn/authserver

+ 1 - 1
src/main/webapp/WEB-INF/jsp/errorpage.jsp

@@ -65,7 +65,7 @@
 <body>
     <div class="form-container">
         <div class="form-text">登录出错请重试</div>
-        <a href="https://authserver.ougd.cn/authserver/login" class="form-button">确定</a>
+        <a href="${url }" rel="noopener noreferrer" class="form-button">确定</a>
     </div>
 </body>
 </html>