MyAccessDeniedHandler.java 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. package edu.travel.warehouse.config;
  2. import com.fasterxml.jackson.databind.ObjectMapper;
  3. import org.springframework.security.access.AccessDeniedException;
  4. import org.springframework.security.web.access.AccessDeniedHandler;
  5. import javax.servlet.ServletException;
  6. import javax.servlet.http.HttpServletRequest;
  7. import javax.servlet.http.HttpServletResponse;
  8. import java.io.IOException;
  9. import java.util.HashMap;
  10. import java.util.Map;
  11. public class MyAccessDeniedHandler implements AccessDeniedHandler {
  12. @Override
  13. public void handle(HttpServletRequest req, HttpServletResponse resp, AccessDeniedException e) throws IOException, ServletException {
  14. resp.setContentType("application/json;charset=UTF-8");
  15. Map map = new HashMap();
  16. map.put("code", "450");
  17. map.put("message", e.getMessage());
  18. map.put("path", req.getServletPath());
  19. map.put("timestamp", String.valueOf(System.currentTimeMillis()));
  20. resp.setContentType("application/json");
  21. resp.setStatus(HttpServletResponse.SC_UNAUTHORIZED);
  22. try {
  23. ObjectMapper mapper = new ObjectMapper();
  24. mapper.writeValue(resp.getOutputStream(), map);
  25. } catch (Exception ex) {
  26. throw new ServletException();
  27. }
  28. }
  29. }