package com.whyc.filter; import com.google.gson.Gson; import com.whyc.constant.SuperConstant; import com.whyc.dto.Response; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.web.filter.authz.RolesAuthorizationFilter; import org.apache.shiro.web.util.WebUtils; import org.springframework.util.StringUtils; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import java.io.IOException; /** * 可以在定制化角色权限被拒绝时的返回,暂不用 */ @Deprecated @Slf4j public class JwtRolesFilter extends RolesAuthorizationFilter { /** * 访问拒绝时调用 * @param request * @param response * @return */ @Override protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws IOException { log.debug("访问被拒绝了"); String jwt = WebUtils.toHttp(request).getHeader(SuperConstant.AUTHORIZATION); if(!StringUtils.isEmpty(jwt)){ Response myResponse = new Response().set(1,"未登录"); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json;charset=utf-8"); Gson gson = new Gson(); response.getWriter().write(gson.toJson(myResponse)); return false; } return super.onAccessDenied(request, response); } }