beetlsql3-dev
Mlxa0324
parent 1b1e343a93
commit 097a23c4fa

@ -173,7 +173,7 @@ public class CustomErrorController extends AbstractErrorController {
}
protected String getErrorMessage(Throwable ex) {
if(ex instanceof PlatformException || ex instanceof IllegalArgumentException || ex instanceof BeetlSQLException
if(ex instanceof RuntimeException || ex instanceof PlatformException || ex instanceof IllegalArgumentException || ex instanceof BeetlSQLException
|| ex instanceof ConstraintViolationException) {
return ex.getCause() == null ? ex.getMessage() : ex.getCause().getMessage();
} else{

@ -84,12 +84,13 @@ public class HttpRequestLocal {
*
* @return
*/
public String getRquestToken() {
public String getRequestToken() {
HttpServletRequest request = getRequest();
final String tokenHeader = request.getHeader(AUTHORIZATION);
String cookieTokenValue = null;
try {
// Cookie里取最新时间创建的Token
Comparator<Cookie> cookieComparator = (o1, o2) ->
@ -103,14 +104,29 @@ public class HttpRequestLocal {
if (cookie != null) {
cookieTokenValue = cookie.getValue();
}
}catch (Exception e) { }
} catch (Exception e) { }
// 获取url中的_role_tag 时间戳属性匹配cookie中的时间戳值。来拿到token
String roleTag = defaultIfNull(request.getParameter("_role_tag"), request.getHeader("_role_tag"));
Optional<Cookie> first = Arrays.stream(request.getCookies())
// 时间戳结尾判断
.filter(item -> item.getValue().endsWith("\\." + roleTag)).findFirst();
String cookieValue = null;
if (first.isPresent()) {
cookieValue = first.get().getValue();
}
final String[] jwtStrings = jwtTokenSplitTimestamp(defaultIfBlank(tokenHeader, cookieTokenValue));
final String originToken = defaultIfBlank(defaultIfBlank(tokenHeader, cookieValue), cookieTokenValue);
final String[] jwtStrings = jwtTokenSplitTimestamp(originToken);
return jwtStrings[0];
}
public Object getSessionValue(String key){
String headerToken = getRquestToken();
String headerToken = getRequestToken();
if (headerToken == null) {
return null;
}
@ -122,7 +138,7 @@ public class HttpRequestLocal {
}
public void setSessionValue(String key, Object obj){
String headerToken = getRquestToken();
String headerToken = getRequestToken();
if (headerToken == null) {
return;
}
@ -160,7 +176,7 @@ public class HttpRequestLocal {
* @param key
*/
public void removeSessionValue(String key) {
String headerToken = getRquestToken();
String headerToken = getRequestToken();
if (headerToken == null) {
return;
}
@ -175,7 +191,7 @@ public class HttpRequestLocal {
* Session
*/
public void clear() {
String headerToken = getRquestToken();
String headerToken = getRequestToken();
if (headerToken == null) {
return;
}
@ -232,7 +248,7 @@ public class HttpRequestLocal {
}
public Object getAttribute(String key){
String headerToken = getRquestToken();
String headerToken = getRequestToken();
if (headerToken == null) {
return null;
}
@ -243,7 +259,7 @@ public class HttpRequestLocal {
return redisMap.get(key);
}
public void setAttribute(String key, Object obj){
String headerToken = getRquestToken();
String headerToken = getRequestToken();
if (headerToken == null) {
return;
}

@ -129,7 +129,7 @@ public class WebPlatformService {
CoreUser user = userLoginInfo.getUser();
CoreOrg currentOrg = userLoginInfo.getCurrentOrg();
List<CoreOrg> orgs = userLoginInfo.getOrgs();
String headerToken = httpRequestLocal.getRquestToken();
String headerToken = httpRequestLocal.getRequestToken();
corePlatformService.setLoginUserByToken(headerToken, user, currentOrg, orgs, null);
setUserInfoToSessionByIdentity(headerToken, user);

Loading…
Cancel
Save