content: package org.zeus.config;
  
  import com.fasterxml.jackson.databind.ObjectMapper;
  import org.zeus.bean.RespBean;
  import org.springframework.security.access.AccessDeniedException;
  import org.springframework.security.web.access.AccessDeniedHandler;
  import org.springframework.stereotype.Component;
  
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import java.io.IOException;
  import java.io.PrintWriter;
  
  /**
   * 用户权限不足的事件处理器
   * @author: lizhizhong
   * CreatedDate: 2018/12/29.
   */
  @Component
  public class AuthenticationAccessDeniedHandler implements AccessDeniedHandler {
      @Override
      public void handle(HttpServletRequest httpServletRequest, HttpServletResponse resp,
                         AccessDeniedException e) throws IOException {
  
          resp.setStatus(HttpServletResponse.SC_FORBIDDEN);
          resp.setContentType("application/json;charset=UTF-8");
          PrintWriter out = resp.getWriter();
          RespBean error = RespBean.error("权限不足，请联系管理员!");
  
          out.write(new ObjectMapper().writeValueAsString(error));
          out.flush();
          out.close();
      }
  }
  