首页>代码>Spring Boot-Shiro-Vue权限管理 - 分享>/SpringBoot-Shiro-Vue/back/src/main/java/com/heeexy/example/config/shiro/AjaxPermissionsAuthorizationFilter.java
package com.heeexy.example.config.shiro;

import com.alibaba.fastjson.JSONObject;
import com.heeexy.example.util.constants.ErrorEnum;
import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;

import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;
import java.io.PrintWriter;

/**
 * @author: hxy
 * @description: 对没有登录的请求进行拦截, 全部返回json信息. 覆盖掉shiro原本的跳转login.jsp的拦截方式
 * @date: 2017/10/24 10:11
 */
public class AjaxPermissionsAuthorizationFilter extends FormAuthenticationFilter {

	@Override
	protected boolean onAccessDenied(ServletRequest request, ServletResponse response) {
		JSONObject jsonObject = new JSONObject();
		jsonObject.put("code", ErrorEnum.E_20011.getErrorCode());
		jsonObject.put("msg", ErrorEnum.E_20011.getErrorMsg());
		PrintWriter out = null;
		HttpServletResponse res = (HttpServletResponse) response;
		try {
			res.setCharacterEncoding("UTF-8");
			res.setContentType("application/json");
			out = response.getWriter();
			out.println(jsonObject);
		} catch (Exception e) {
		} finally {
			if (null != out) {
				out.flush();
				out.close();
			}
		}
		return false;
	}

	@Bean
	public FilterRegistrationBean registration(AjaxPermissionsAuthorizationFilter filter) {
		FilterRegistrationBean registration = new FilterRegistrationBean(filter);
		registration.setEnabled(false);
		return registration;
	}
}
最近下载更多
taoshen95  LV14 2023年8月2日
spyon-0  LV1 2023年6月5日
若你能读懂我的笑  LV3 2023年3月14日
yxd1130  LV11 2023年3月10日
flysky  LV4 2022年12月26日
bakerneko  LV1 2022年12月16日
HANCW  LV8 2022年12月11日
陈xsJJJJJ  LV2 2022年12月11日
mwh1001  LV15 2022年12月7日
1529860026  LV24 2022年10月9日
最近浏览更多
qiangmin1223  LV12 4月24日
xuweiwowzy  LV5 1月14日
zhangjilu  LV18 1月7日
iiiiiiixiiiiii  LV1 2023年12月31日
2304972630  LV3 2023年9月26日
龚顺龙  LV3 2023年8月10日
五折也挺好的  LV13 2023年7月10日
justin8023  LV3 2023年7月6日
1997akkk  LV5 2023年6月25日
845448008  LV3 2023年6月24日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友