MyAuthenticationSuccessHandler.java 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. package com.njuzr.eaibackend.config;
  2. import com.njuzr.eaibackend.controller.MyResponse;
  3. import jakarta.servlet.FilterChain;
  4. import jakarta.servlet.ServletException;
  5. import jakarta.servlet.http.HttpServletRequest;
  6. import jakarta.servlet.http.HttpServletResponse;
  7. import org.springframework.security.core.Authentication;
  8. import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
  9. import com.fasterxml.jackson.databind.ObjectMapper;
  10. import java.io.IOException;
  11. /**
  12. * @author: Leonezhurui
  13. * @Date: 2024/2/19 - 23:20
  14. * @Package: EAI-Backend
  15. */
  16. public class MyAuthenticationSuccessHandler implements AuthenticationSuccessHandler {
  17. private final ObjectMapper objectMapper = new ObjectMapper();
  18. @Override
  19. public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
  20. response.setStatus(HttpServletResponse.SC_OK); // 状态码200
  21. response.setContentType("application/json");
  22. MyResponse myResponse = MyResponse.success(authentication.getPrincipal());
  23. response.getWriter().write(objectMapper.writeValueAsString(myResponse));
  24. response.getWriter().flush();
  25. }
  26. }