修改互联网单点登录
This commit is contained in:
@@ -3,6 +3,7 @@ package com.ruoyi.web.controller.system;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import com.ruoyi.common.core.domain.entity.tymh.wwToken.WwTokenResult;
|
||||
import com.ruoyi.common.core.domain.entity.tymh.wwToken.WwUserLogin;
|
||||
import com.ruoyi.common.core.domain.model.RegisterBody;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
@@ -21,6 +22,8 @@ import com.ruoyi.framework.web.service.SysLoginService;
|
||||
import com.ruoyi.framework.web.service.SysPermissionService;
|
||||
import com.ruoyi.system.service.ISysMenuService;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
/**
|
||||
* 登录验证
|
||||
*
|
||||
@@ -203,4 +206,59 @@ public class SysLoginController
|
||||
.put("token", token)
|
||||
.put("accessUrl", "");
|
||||
}
|
||||
|
||||
/**
|
||||
*互联网获取token
|
||||
* @return
|
||||
*/
|
||||
@GetMapping("/getWwTjmHlwToken")
|
||||
public AjaxResult getWwTjmHlwToken(HttpServletRequest request){
|
||||
String token = request.getHeader("Authorization");
|
||||
if (token != null && token.startsWith("Bearer ")) {
|
||||
token = token.substring(7);
|
||||
}
|
||||
|
||||
String cookieValue = null;
|
||||
javax.servlet.http.Cookie[] cookies = request.getCookies();
|
||||
if (cookies != null) {
|
||||
for (javax.servlet.http.Cookie cookie : cookies) {
|
||||
if ("portal_auth".equals(cookie.getName())) {
|
||||
cookieValue = cookie.getValue();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
boolean isTokenValid = validateToken(token);
|
||||
boolean isCookieValid = validateCookie(cookieValue);
|
||||
if (isTokenValid && isCookieValid) {
|
||||
WwTokenResult wwTokenResult=new WwTokenResult();
|
||||
wwTokenResult.setAccessToken(token);
|
||||
wwTokenResult.setSessionCookie(cookieValue);
|
||||
String localToken = oauthLoginHlwService.getWwTjmHlwToken(wwTokenResult);
|
||||
return AjaxResult.success("门户登录成功")
|
||||
.put("token", localToken)
|
||||
.put("accessUrl", "");
|
||||
} else {
|
||||
return AjaxResult.error("登录失效,请重新登录");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证token
|
||||
* @param token
|
||||
* @return
|
||||
*/
|
||||
private boolean validateToken(String token) {
|
||||
return token != null && !token.isEmpty() && token.matches("^[A-Za-z0-9_-]{36}$");
|
||||
}
|
||||
|
||||
/**
|
||||
* 验证cookie
|
||||
* @param cookieValue
|
||||
* @return
|
||||
*/
|
||||
private boolean validateCookie(String cookieValue) {
|
||||
return cookieValue != null && !cookieValue.isEmpty();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user