Переглянути джерело

Merge branch 'dev_v2.1.0' into release_v2.1.0
merge

wangliang 4 роки тому
батько
коміт
456fd0ab7b

+ 23 - 7
teachcloud-report/src/main/java/com/qmth/teachcloud/report/api/WudaOpenApiController.java

@@ -12,31 +12,32 @@ import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicSchool;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.enums.RoleTypeEnum;
 import com.qmth.teachcloud.common.service.CacheService;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
-import com.qmth.teachcloud.common.util.*;
-import com.qmth.teachcloud.report.aspect.ApiControllerAspect;
+import com.qmth.teachcloud.common.util.JacksonUtil;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.report.business.cache.WhuUserAuthCacheUtil;
 import io.swagger.annotations.*;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.validation.BindingResult;
-import org.springframework.web.bind.annotation.*;
+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 javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.validation.Valid;
+import javax.servlet.http.HttpSession;
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.security.NoSuchAlgorithmException;
 import java.text.MessageFormat;
-import java.util.List;
 import java.util.Objects;
 
 @Api(tags = "武大开放接口层apiController")
@@ -72,6 +73,21 @@ public class WudaOpenApiController {
         response.sendRedirect(dictionaryConfig.sysDomain().getReportUrl() + basicSchool.getId() + "/" + uid);
     }
 
+    @ApiOperation(value = "cas鉴权退出接口")
+    @RequestMapping(value = "/authentication/logout", method = RequestMethod.GET)
+    @ApiResponses({@ApiResponse(code = 200, message = "返回消息", response = Result.class)})
+    @Aac(auth = BOOL.FALSE)
+    public void authenticationLogout(HttpServletRequest request, HttpServletResponse response) throws IOException {
+        log.info("logout is come in:{}");
+        HttpSession session = request.getSession();
+        session.invalidate();
+        String casLogoutURL = "http://cas.whu.edu.cn/authserver/logout";
+        // service后面带的参数为应用的访问地址,需要使用URLEncoder进行编码
+        String redirectURL = casLogoutURL + "?service=" + URLEncoder.encode("http://cas.whu.edu.cn/authserver/login", SystemConstant.CHARSET_NAME);
+        response.setHeader("Access-Control-Allow-Origin", "*");
+        response.sendRedirect(redirectURL);
+    }
+
     @ApiOperation(value = "cas用户鉴权接口")
     @RequestMapping(value = "/user/authentication", method = RequestMethod.GET)
     @ApiResponses({@ApiResponse(code = 200, message = "返回消息", response = Result.class)})

+ 1 - 1
teachcloud-report/src/main/resources/application-dev.properties

@@ -13,7 +13,7 @@ spring.application.name=teachcloud-report
 db.host=192.168.10.136
 #db.host=localhost
 db.port=3306
-db.name=teachcloud-report
+db.name=teachcloud-report-617
 db.username=root
 db.password=Qmth87863577!
 #db.password=123456789