Quellcode durchsuchen

修复时间戳校验异常问题

woody vor 1 Jahr
Ursprung
Commit
492ccd3090

+ 14 - 42
framework-base/src/main/java/com/chelvc/framework/base/context/LoggingContextHolder.java

@@ -137,9 +137,7 @@ public final class LoggingContextHolder {
      * @param messages 消息数组
      */
     public static void info(@NonNull Logger logger, @NonNull Object... messages) {
-        if (logger.isInfoEnabled()) {
-            logger.info(message(messages));
-        }
+        logger.info(message(messages));
     }
 
     /**
@@ -150,9 +148,7 @@ public final class LoggingContextHolder {
      * @param messages 消息数组
      */
     public static void info(@NonNull Logger logger, @NonNull HttpServletRequest request, @NonNull Object... messages) {
-        if (logger.isInfoEnabled()) {
-            logger.info(message(request, messages));
-        }
+        logger.info(message(request, messages));
     }
 
     /**
@@ -162,9 +158,7 @@ public final class LoggingContextHolder {
      * @param t      异常对象实例
      */
     public static void warn(@NonNull Logger logger, @NonNull Throwable t) {
-        if (logger.isWarnEnabled()) {
-            logger.warn(message(t));
-        }
+        logger.warn(message(t));
     }
 
     /**
@@ -174,9 +168,7 @@ public final class LoggingContextHolder {
      * @param messages 消息数组
      */
     public static void warn(@NonNull Logger logger, @NonNull Object... messages) {
-        if (logger.isWarnEnabled()) {
-            logger.warn(message(messages));
-        }
+        logger.warn(message(messages));
     }
 
     /**
@@ -187,9 +179,7 @@ public final class LoggingContextHolder {
      * @param t       异常对象实例
      */
     public static void warn(@NonNull Logger logger, @NonNull HttpServletRequest request, @NonNull Throwable t) {
-        if (logger.isWarnEnabled()) {
-            logger.warn(message(request, t));
-        }
+        logger.warn(message(request, t));
     }
 
     /**
@@ -200,9 +190,7 @@ public final class LoggingContextHolder {
      * @param messages 消息数组
      */
     public static void warn(@NonNull Logger logger, @NonNull HttpServletRequest request, @NonNull Object... messages) {
-        if (logger.isWarnEnabled()) {
-            logger.warn(message(request, messages));
-        }
+        logger.warn(message(request, messages));
     }
 
     /**
@@ -212,9 +200,7 @@ public final class LoggingContextHolder {
      * @param t      异常对象实例
      */
     public static void error(@NonNull Logger logger, @NonNull Throwable t) {
-        if (logger.isErrorEnabled()) {
-            logger.error(message(t), t);
-        }
+        logger.error(message(t), t);
     }
 
     /**
@@ -224,9 +210,7 @@ public final class LoggingContextHolder {
      * @param messages 消息数组
      */
     public static void error(@NonNull Logger logger, @NonNull Object... messages) {
-        if (logger.isErrorEnabled()) {
-            logger.error(message(messages));
-        }
+        logger.error(message(messages));
     }
 
     /**
@@ -237,9 +221,7 @@ public final class LoggingContextHolder {
      * @param t       异常对象实例
      */
     public static void error(@NonNull Logger logger, @NonNull HttpServletRequest request, @NonNull Throwable t) {
-        if (logger.isErrorEnabled()) {
-            logger.error(message(request, t), t);
-        }
+        logger.error(message(request, t), t);
     }
 
     /**
@@ -250,9 +232,7 @@ public final class LoggingContextHolder {
      * @param messages 消息数组
      */
     public static void error(@NonNull Logger logger, @NonNull HttpServletRequest request, @NonNull Object... messages) {
-        if (logger.isErrorEnabled()) {
-            logger.error(message(request, messages));
-        }
+        logger.error(message(request, messages));
     }
 
     /**
@@ -262,9 +242,7 @@ public final class LoggingContextHolder {
      * @param t      异常对象实例
      */
     public static void debug(@NonNull Logger logger, @NonNull Throwable t) {
-        if (logger.isDebugEnabled()) {
-            logger.debug(message(t), t);
-        }
+        logger.debug(message(t), t);
     }
 
     /**
@@ -274,9 +252,7 @@ public final class LoggingContextHolder {
      * @param messages 消息数组
      */
     public static void debug(@NonNull Logger logger, @NonNull Object... messages) {
-        if (logger.isDebugEnabled()) {
-            logger.debug(message(messages));
-        }
+        logger.debug(message(messages));
     }
 
     /**
@@ -287,9 +263,7 @@ public final class LoggingContextHolder {
      * @param t       异常对象实例
      */
     public static void debug(@NonNull Logger logger, @NonNull HttpServletRequest request, @NonNull Throwable t) {
-        if (logger.isDebugEnabled()) {
-            logger.debug(message(request, t), t);
-        }
+        logger.debug(message(request, t), t);
     }
 
     /**
@@ -300,8 +274,6 @@ public final class LoggingContextHolder {
      * @param messages 消息数组
      */
     public static void debug(@NonNull Logger logger, @NonNull HttpServletRequest request, @NonNull Object... messages) {
-        if (logger.isDebugEnabled()) {
-            logger.debug(message(request, messages));
-        }
+        logger.debug(message(request, messages));
     }
 }

+ 4 - 2
framework-base/src/main/java/com/chelvc/framework/base/interceptor/GlobalExceptionInterceptor.java

@@ -149,7 +149,8 @@ public class GlobalExceptionInterceptor extends AbstractErrorController {
             if (cause instanceof InvalidFormatException) {
                 return ParameterInvalidException.result(this.format((InvalidFormatException) cause));
             }
-            return Result.of(HttpStatus.BAD_REQUEST.name(), null, HttpStatus.BAD_REQUEST.getReasonPhrase());
+            return Result.of(HttpStatus.BAD_REQUEST.name(), null,
+                    ApplicationContextHolder.getMessage("Request.Invalid"));
         } else if (e instanceof MissingPathVariableException) {
             return ParameterInvalidException.result(ImmutableMap.of(
                     ((MissingPathVariableException) e).getVariableName(), e.getMessage()
@@ -181,7 +182,8 @@ public class GlobalExceptionInterceptor extends AbstractErrorController {
                 || e instanceof ServletRequestBindingException || e instanceof HttpRequestMethodNotSupportedException
                 || e instanceof HttpMediaTypeNotAcceptableException
                 || e instanceof HttpMediaTypeNotSupportedException) {
-            return Result.of(HttpStatus.BAD_REQUEST.name(), null, HttpStatus.BAD_REQUEST.getReasonPhrase());
+            return Result.of(HttpStatus.BAD_REQUEST.name(), null,
+                    ApplicationContextHolder.getMessage("Request.Invalid"));
         }
 
         // 未知异常处理,如果是服务器内部错误则屏蔽详细的异常信息

+ 5 - 5
framework-database/src/main/java/com/chelvc/framework/database/handler/JsonTypeHandler.java

@@ -7,7 +7,7 @@ import java.sql.ResultSet;
 import java.sql.SQLException;
 import java.sql.Types;
 
-import com.chelvc.framework.base.context.JacksonContextHolder;
+import com.chelvc.framework.common.util.JacksonUtils;
 import com.chelvc.framework.common.util.ObjectUtils;
 import lombok.NonNull;
 import org.apache.ibatis.executor.result.ResultMapException;
@@ -99,7 +99,7 @@ public interface JsonTypeHandler<T> extends TypeHandler<T> {
         if (ObjectUtils.isBlank(parameter)) {
             ps.setNull(i, Types.VARCHAR);
         } else {
-            ps.setString(i, JacksonContextHolder.serialize(parameter));
+            ps.setString(i, JacksonUtils.serialize(parameter));
         }
     }
 
@@ -113,7 +113,7 @@ public interface JsonTypeHandler<T> extends TypeHandler<T> {
      */
     @SuppressWarnings("unchecked")
     default T getNullableResult(ResultSet rs, String columnName) throws SQLException {
-        return (T) JacksonContextHolder.deserialize(rs.getString(columnName), this.getRawType());
+        return (T) JacksonUtils.deserialize(rs.getString(columnName), this.getRawType());
     }
 
     /**
@@ -126,7 +126,7 @@ public interface JsonTypeHandler<T> extends TypeHandler<T> {
      */
     @SuppressWarnings("unchecked")
     default T getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
-        return (T) JacksonContextHolder.deserialize(rs.getString(columnIndex), this.getRawType());
+        return (T) JacksonUtils.deserialize(rs.getString(columnIndex), this.getRawType());
     }
 
     /**
@@ -139,7 +139,7 @@ public interface JsonTypeHandler<T> extends TypeHandler<T> {
      */
     @SuppressWarnings("unchecked")
     default T getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
-        return (T) JacksonContextHolder.deserialize(cs.getString(columnIndex), this.getRawType());
+        return (T) JacksonUtils.deserialize(cs.getString(columnIndex), this.getRawType());
     }
 
     /**

+ 3 - 3
framework-security/src/main/java/com/chelvc/framework/security/interceptor/SecurityValidateInterceptor.java

@@ -74,10 +74,10 @@ public class SecurityValidateInterceptor implements HandlerInterceptor, WebMvcCo
             }
 
             // 请求时间戳校验
-            long now = System.currentTimeMillis(), duration = this.properties.getDuration();
-            if (duration > 0 && (session.getTimestamp() > now || now - session.getTimestamp() > duration)) {
+            long duration = this.properties.getDuration();
+            if (duration > 0 && Math.abs(System.currentTimeMillis() - session.getTimestamp()) > duration) {
                 throw new FrameworkException(
-                        HttpStatus.FORBIDDEN.name(), null, ApplicationContextHolder.getMessage("Time.Deviated")
+                        HttpStatus.BAD_REQUEST.name(), null, ApplicationContextHolder.getMessage("Time.Deviated")
                 );
             }
         }