This commit is contained in:
caozehui
2024-11-21 15:48:52 +08:00
parent f7ea59ce1b
commit c125f20de4
3 changed files with 36 additions and 9 deletions

View File

@@ -5,7 +5,6 @@ import com.njcn.common.pojo.constant.SecurityConstants;
import com.njcn.common.utils.JwtUtil;
import com.njcn.gather.system.pojo.constant.SystemValidMessage;
import lombok.extern.slf4j.Slf4j;
import org.apache.logging.log4j.util.Strings;
import org.springframework.core.Ordered;
import org.springframework.stereotype.Component;
@@ -54,15 +53,22 @@ public class AuthGlobalFilter implements Filter, Ordered {
filterChain.doFilter(req, res);
} else {
String tokenStr = req.getHeader(SecurityConstants.AUTHORIZATION_KEY);
if (StrUtil.isNotBlank(tokenStr)) {
tokenStr = tokenStr.replace(SecurityConstants.AUTHORIZATION_PREFIX, Strings.EMPTY);
}
if (StrUtil.isBlank(tokenStr) || !JwtUtil.verifyToken(tokenStr) || JwtUtil.isExpired(tokenStr)) {
if (StrUtil.isBlank(tokenStr) || !tokenStr.startsWith(SecurityConstants.AUTHORIZATION_PREFIX)) {
res.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
res.getWriter().write(SystemValidMessage.TOKEN_VALID_ERROR);
return;
}
tokenStr = tokenStr.substring(SecurityConstants.AUTHORIZATION_PREFIX.length());
try {
if (StrUtil.isBlank(tokenStr) || !JwtUtil.verifyToken(tokenStr) || JwtUtil.isExpired(tokenStr)) {
res.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
res.getWriter().write(SystemValidMessage.TOKEN_VALID_ERROR);
} else {
filterChain.doFilter(req, res);
}
} catch (Exception e) {
res.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
res.getWriter().write(SystemValidMessage.TOKEN_VALID_ERROR);
res.sendRedirect("/admin/login");
} else {
filterChain.doFilter(req, res);
}
}
}

View File

@@ -87,5 +87,5 @@ public interface SystemValidMessage {
String AUTO_GENERATE_FORMAT_ERROR = "是否自动生成格式错误请检查autoGenerate参数";
String TOKEN_VALID_ERROR = "token校验失败,请重新登录";
String TOKEN_VALID_ERROR = "token校验失败";
}