package com.mini.mybigscreen.Config; import com.fasterxml.jackson.databind.ObjectMapper; import com.mini.mybigscreen.Model.Result; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpSession; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.ObjectUtils; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import java.io.PrintWriter; @Component public class LoginInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { ObjectMapper objectMapper = new ObjectMapper(); HttpSession session = request.getSession(false); if (ObjectUtils.isEmpty(session)) { String json = objectMapper.writeValueAsString(Result.unauthorized()); try (PrintWriter writer = response.getWriter()) { writer.write(json); writer.flush(); } return false; } String token = (String) session.getAttribute("token"); if (StringUtils.isEmpty(token)) { String json = objectMapper.writeValueAsString(Result.unauthorized()); try (PrintWriter writer = response.getWriter()) { writer.write(json); writer.flush(); } return false; } return true; } }