Files
my-bigScreen/src/main/java/com/mini/mybigscreen/Config/LoginInterceptor.java
2026-03-02 14:33:24 +08:00

46 lines
1.5 KiB
Java

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;
}
}