修复bug

This commit is contained in:
lhc
2021-08-25 10:17:11 +08:00
parent 9e9c5d6467
commit 5af5f0b163
6 changed files with 34 additions and 26 deletions

View File

@@ -13,4 +13,5 @@ public class FrameConfig {
private Boolean showControllerLog = true;
private Boolean multiDataSource = true;
private Boolean cas = false;
private Boolean singleClientLogin= false;
}

View File

@@ -27,15 +27,15 @@ public class SimpleCORSFilter implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// HttpServletRequest httpServletRequest = (HttpServletRequest) request;
// String myOrigin = httpServletRequest.getHeader("origin");
// HttpServletResponse httpServletResponse = (HttpServletResponse) response;
// httpServletResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
// httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
// httpServletResponse.setHeader("Access-Control-Max-Age", "3600");
// httpServletResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
// // 是否支持cookie跨域
// httpServletResponse.addHeader("Access-Control-Allow-Credentials", "true");
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
String myOrigin = httpServletRequest.getHeader("origin");
HttpServletResponse httpServletResponse = (HttpServletResponse) response;
httpServletResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
httpServletResponse.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PUT");
httpServletResponse.setHeader("Access-Control-Max-Age", "3600");
httpServletResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
// 是否支持cookie跨域
httpServletResponse.addHeader("Access-Control-Allow-Credentials", "true");
chain.doFilter(request, response);
}

View File

@@ -22,6 +22,7 @@ public class ObjectUtil {
private static final String STRING = "class java.lang.String";
private static final String INTEGER = "class java.lang.Integer";
private static final String LONG = "class java.lang.LONG";
private static final String BIG_INTEGER = "class java.math.BigInteger";
public static Map<String, Object> objToMap(Object obj) {
Class<?> clazz = obj.getClass();
@@ -142,6 +143,10 @@ public class ObjectUtil {
if (LONG.equals(str)) {
value = Long.valueOf(value.toString());
}
if (BIG_INTEGER.equals(str)) {
value = Long.valueOf(value.toString());
}
try {
field.set(obj, value);
} catch (IllegalAccessException e) {

View File

@@ -39,10 +39,10 @@ public class AuthFilter extends AuthenticatingFilter {
HttpServletResponse httpResponse = (HttpServletResponse) response;
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
String myOrigin = httpServletRequest.getHeader("origin");
httpResponse.setContentType("application/json;charset=utf-8");
httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
httpResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
// httpResponse.setContentType("application/json;charset=utf-8");
// httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
// httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
// httpResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
httpResponse.setCharacterEncoding("UTF-8");
Map<String, Object> result = new HashMap<>(2);
result.put("code", 3);
@@ -82,9 +82,9 @@ public class AuthFilter extends AuthenticatingFilter {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
String myOrigin = httpServletRequest.getHeader("origin");
httpResponse.setContentType("application/json;charset=utf-8");
httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
httpResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
// httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
// httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
// httpResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
httpResponse.setCharacterEncoding("UTF-8");
Map<String, Object> result = new HashMap<>(2);
result.put("code", 3);
@@ -108,11 +108,11 @@ public class AuthFilter extends AuthenticatingFilter {
//处理登录失败的异常
HttpServletResponse httpResponse = (HttpServletResponse) response;
httpResponse.setContentType("application/json;charset=utf-8");
httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
// httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
String myOrigin = httpServletRequest.getHeader("origin");
httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
httpResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
// httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
// httpResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
httpResponse.setCharacterEncoding("UTF-8");
try {
//处理登录失败的异常

View File

@@ -66,10 +66,12 @@ public class CustomRealm extends AuthorizingRealm {
if (userId == null) {
throw new IncorrectCredentialsException("token失效请重新登录");
}
String tokenStr = (String) redisUtil.hget("session", String.valueOf(userId));
if (tokenStr == null || !tokenStr.equals(accessToken)) {
redisUtil.del(accessToken);
throw new IncorrectCredentialsException("token失效请重新登录");
if (frameConfig.getSingleClientLogin()) {
String tokenStr = (String) redisUtil.hget("session", String.valueOf(userId));
if (tokenStr == null || !tokenStr.equals(accessToken)) {
redisUtil.del(accessToken);
throw new IncorrectCredentialsException("token失效请重新登录");
}
}
Date expireTime = (Date) hashMap.get("expireTime");
System.out.println(expireTime);

View File

@@ -35,9 +35,9 @@ public class NoStateFilter extends AccessControlFilter {
HttpServletRequest httpServletRequest = (HttpServletRequest) request;
String myOrigin = httpServletRequest.getHeader("origin");
httpResponse.setContentType("application/json;charset=utf-8");
httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
httpResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
// httpResponse.setHeader("Access-Control-Allow-Credentials", "true");
// httpResponse.setHeader("Access-Control-Allow-Headers", "x-requested-with, X-Access-Token, datasource-Key");
// httpResponse.setHeader("Access-Control-Allow-Origin", myOrigin);
httpResponse.setCharacterEncoding("UTF-8");
Map<String, Object> result = new HashMap<>();
result.put("code", 3);