|
@@ -222,8 +222,28 @@ public class XjtuCasUtil {
|
|
JSONObject jsonObject = JSONObject.parseObject(logoutResult);
|
|
JSONObject jsonObject = JSONObject.parseObject(logoutResult);
|
|
String message = jsonObject.getString("message");
|
|
String message = jsonObject.getString("message");
|
|
if (Objects.nonNull(message) && Objects.equals(message, "成功")) {
|
|
if (Objects.nonNull(message) && Objects.equals(message, "成功")) {
|
|
|
|
+ Map<String, SimpleObject> mapSetting = commonCacheService.getSysSetting(basicSchool.getId());
|
|
|
|
+ String returnUrl = null;
|
|
|
|
+ log.info("mapSetting1 value:{}", JSONObject.toJSONString(mapSetting));
|
|
|
|
+ if (!CollectionUtils.isEmpty(mapSetting)) {
|
|
|
|
+ SimpleObject simpleObject = mapSetting.get(Constants.CAS_ADDRESS);
|
|
|
|
+ Objects.requireNonNull(simpleObject, "未配置单点登录地址");
|
|
|
|
+ String casAddress = simpleObject.getValue();
|
|
|
|
+ String loginUri = null;
|
|
|
|
+ if (Objects.nonNull(casAddress) && !Objects.equals(casAddress.trim(), "")) {
|
|
|
|
+ if (casAddress.lastIndexOf("/") == casAddress.length() - 1) {
|
|
|
|
+ casAddress = casAddress.substring(0, casAddress.lastIndexOf("/"));
|
|
|
|
+ }
|
|
|
|
+ loginUri = casAddress + Constants.SSO_LOGIN_URI;
|
|
|
|
+ }
|
|
|
|
+ simpleObject = mapSetting.get(Constants.APP_ID);
|
|
|
|
+ Objects.requireNonNull(simpleObject, "未配置学校appId");
|
|
|
|
+ returnUrl = Constants.OAUTH_URL + SystemConstant.GET_UNKNOWN +
|
|
|
|
+ Constants.APP_ID + SystemConstant.GET_EQUAL + simpleObject.getValue() + SystemConstant.GET_SYMBOL +
|
|
|
|
+ Constants.REDIRECT_URI + SystemConstant.GET_EQUAL + loginUri + "&responseType=code&scope=user_info&state=1234";
|
|
|
|
+ }
|
|
response.setHeader("Access-Control-Allow-Origin", SystemConstant.PATH_MATCH);
|
|
response.setHeader("Access-Control-Allow-Origin", SystemConstant.PATH_MATCH);
|
|
- response.sendRedirect(Constants.RETURN_URL);
|
|
|
|
|
|
+ response.sendRedirect(returnUrl);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|