//package com.project.shiro.util;
//
//import com.alibaba.fastjson.JSONObject;
//import io.swagger.annotations.ResponseHeader;
//import org.apache.commons.lang3.StringUtils;
//import org.apache.shiro.web.filter.authz.PermissionsAuthorizationFilter;
//
//import javax.servlet.ServletRequest;
//import javax.servlet.ServletResponse;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.io.PrintWriter;
//
///**
// * @author wyy
// * @date 2019-09-14 17:57
// */
//public class AuthorizationFilter extends PermissionsAuthorizationFilter {
//     /**
//     * shiro认证perms资源失败后回调方法
//     * @param servletRequest
//     * @param servletResponse
//     * @return
//     * @throws IOException
//     */
//    @Override
//    protected boolean onAccessDenied(ServletRequest servletRequest, ServletResponse servletResponse) throws IOException {
//        HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest;
//        HttpServletResponse httpServletResponse = (HttpServletResponse) servletResponse;
//        String requestedWith = httpServletRequest.getHeader("X-Requested-With");
//        if (StringUtils.isNotEmpty(requestedWith) && StringUtils.equals(requestedWith, "XMLHttpRequest")) {//如果是ajax返回指定格式数据
//            httpServletResponse.setContentType("application/json");
//            httpServletResponse.setCharacterEncoding("UTF-8");
//            PrintWriter out = httpServletResponse.getWriter();
//            JSONObject json = new JSONObject();
//            json.put("result", "success");
//            json.put("msg", "登录成功");
//            out.write(json.toJSONString());
//            out.flush();
//            out.close();
//        } else {//如果是普通请求进行重定向
//            httpServletResponse.sendRedirect("/403");
//        }
//        return false;
//    }
//}
