//package com.qihang.tao.security;
//
//import com.alibaba.fastjson2.JSON;
//import com.qihang.tao.common.R;
//import jakarta.servlet.ServletException;
//import jakarta.servlet.http.HttpServletRequest;
//import jakarta.servlet.http.HttpServletResponse;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.http.MediaType;
//import org.springframework.security.core.AuthenticationException;
//import org.springframework.security.web.AuthenticationEntryPoint;
//import org.springframework.stereotype.Component;
//
//import java.io.IOException;
//import java.io.PrintWriter;
//
//@Component
//public class AuthenticationExceptionHandler implements AuthenticationEntryPoint {
//    Logger log = LoggerFactory.getLogger(getClass());
//    @Override
//    public void commence(HttpServletRequest request, HttpServletResponse response, AuthenticationException authException) throws IOException, ServletException {
//        fallback(authException.getMessage(), response);
//    }
//
//    private void fallback(String message, HttpServletResponse response) {
//        response.setCharacterEncoding("UTF-8");
//        response.setContentType(MediaType.APPLICATION_JSON_VALUE);
//        PrintWriter writer = null;
//        try {
//            if (message == null) {
//                message = "认证失败！";
//            }
//            R res = R.error(500, message);
//            writer = response.getWriter();
//            writer.append(JSON.toJSONString(res));
//        } catch (IOException e) {
//            log.error(e.getMessage());
//        } finally {
//            if (writer != null) {
//                writer.close();
//            }
//        }
//    }
//}
