|
@@ -9,15 +9,14 @@ import javax.servlet.ServletResponse;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
-import lombok.extern.slf4j.Slf4j;
|
|
|
import com.chelvc.framework.base.context.SessionContextHolder;
|
|
|
import com.chelvc.framework.base.model.Result;
|
|
|
import com.chelvc.framework.base.util.HttpUtils;
|
|
|
import com.chelvc.framework.base.util.SpringUtils;
|
|
|
-import com.chelvc.framework.common.util.ObjectUtils;
|
|
|
import com.chelvc.framework.common.util.StringUtils;
|
|
|
import com.chelvc.framework.security.config.SecurityProperties;
|
|
|
import com.chelvc.framework.security.context.SecurityContextHolder;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.core.annotation.Order;
|
|
|
import org.springframework.http.HttpStatus;
|
|
|
import org.springframework.stereotype.Component;
|
|
@@ -48,12 +47,7 @@ public class RequestSecurityInterceptor implements Filter {
|
|
|
|
|
|
// 判断是否需要放行
|
|
|
SecurityProperties.Request configuration = SecurityContextHolder.getProperties().getRequest();
|
|
|
- if (ObjectUtils.isEmpty(configuration.getPermit()) && ObjectUtils.isEmpty(configuration.getRequire())) {
|
|
|
- return true;
|
|
|
- }
|
|
|
- String uri = HttpUtils.getRequestURI(request);
|
|
|
- if (SpringUtils.isPath(uri, configuration.getPermit()) || (ObjectUtils.nonEmpty(configuration.getRequire())
|
|
|
- && !SpringUtils.isPath(uri, configuration.getRequire()))) {
|
|
|
+ if (SpringUtils.isPath(HttpUtils.getRequestURI(request), configuration.getPermit())) {
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -73,7 +67,7 @@ public class RequestSecurityInterceptor implements Filter {
|
|
|
|
|
|
// 无效请求
|
|
|
log.warn(SessionContextHolder.getLoggingMessage(request, HttpStatus.FORBIDDEN, "Request invalid"));
|
|
|
- if (SpringUtils.isPath(uri, configuration.getIgnore())) {
|
|
|
+ if (SecurityContextHolder.isFailureIgnored()) {
|
|
|
return true;
|
|
|
}
|
|
|
if (deadline) {
|
|
@@ -81,7 +75,7 @@ public class RequestSecurityInterceptor implements Filter {
|
|
|
SessionContextHolder.response(response, Result.build(HttpStatus.FORBIDDEN));
|
|
|
} else {
|
|
|
response.setStatus(HttpStatus.NOT_ACCEPTABLE.value());
|
|
|
- Result<?> result = Result.build(HttpStatus.NOT_ACCEPTABLE, null, "您的手机设备时间与北京时间误差较大,请校正");
|
|
|
+ Result<?> result = Result.build(HttpStatus.NOT_ACCEPTABLE, null, "请校准系统时间");
|
|
|
SessionContextHolder.response(response, result);
|
|
|
}
|
|
|
return false;
|