|
@@ -13,6 +13,7 @@ import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.web.filter.OncePerRequestFilter;
|
|
|
|
|
|
import com.hb.proj.utils.JacksonUtils;
|
|
|
+import com.hb.proj.utils.RespVO;
|
|
|
import com.hb.proj.utils.RespVOBuilder;
|
|
|
|
|
|
import jakarta.servlet.FilterChain;
|
|
@@ -40,9 +41,10 @@ public class APICallFilter extends OncePerRequestFilter {
|
|
|
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
|
|
|
throws ServletException, IOException {
|
|
|
|
|
|
+ RespVO<Object> checkRst=checkAPIAuth(request);
|
|
|
|
|
|
- if(!checkAPIAuth(request)) {
|
|
|
- writeToResponse(response,JacksonUtils.getJSON(RespVOBuilder.error("权限不足或登录已过期")));
|
|
|
+ if(checkRst!=null) {
|
|
|
+ writeToResponse(response,JacksonUtils.getJSON(checkRst));
|
|
|
return ;
|
|
|
}
|
|
|
filterChain.doFilter(request,response);
|
|
@@ -51,7 +53,7 @@ public class APICallFilter extends OncePerRequestFilter {
|
|
|
|
|
|
|
|
|
|
|
|
- private boolean checkAPIAuth(HttpServletRequest request) {
|
|
|
+ private RespVO<Object> checkAPIAuth(HttpServletRequest request) {
|
|
|
|
|
|
String reqUri=request.getRequestURI();
|
|
|
String contextPath=request.getContextPath();
|
|
@@ -59,19 +61,19 @@ public class APICallFilter extends OncePerRequestFilter {
|
|
|
|
|
|
if(isExcludePath(reqUri)) {
|
|
|
logger.debug("该请求地址为排除地址:"+reqUri);
|
|
|
- return true;
|
|
|
+ return null;
|
|
|
}
|
|
|
|
|
|
String token=request.getHeader(CacheConfig.TOKEN_HEADER_NAME);
|
|
|
if(StringUtils.isBlank(token)) {
|
|
|
- return false;
|
|
|
+ return RespVOBuilder.unIdentify();
|
|
|
}
|
|
|
AccessToken accessToken=CacheConfig.get(token);
|
|
|
if(accessToken==null) {
|
|
|
- return false;
|
|
|
+ return RespVOBuilder.unIdentify();
|
|
|
}
|
|
|
|
|
|
- return accessToken.verify(reqUri);
|
|
|
+ return accessToken.verify(reqUri)?null:RespVOBuilder.noAuth("权限不足");
|
|
|
}
|
|
|
|
|
|
private boolean isExcludePath(String path)
|