package com.doumee.config.shiro;
|
|
import com.alibaba.fastjson.JSON;
|
import com.doumee.service.business.third.model.ApiResponse;
|
import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
|
import org.springframework.http.HttpStatus;
|
|
import javax.servlet.ServletRequest;
|
import javax.servlet.ServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
|
/**
|
* Shiro认证过滤器,处理未认证情况的响应
|
* @author Eva.Caesar Liu
|
* @date 2023/04/17 12:11
|
*/
|
public class ShiroAuthFilter extends FormAuthenticationFilter {
|
|
public ShiroAuthFilter() {
|
super();
|
}
|
|
@Override
|
protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
|
HttpServletResponse servletResponse = (HttpServletResponse) response;
|
servletResponse.setHeader("content-type", "application/json;charset=UTF-8");
|
servletResponse.getWriter().write(JSON.toJSONString(ApiResponse.failed(HttpStatus.UNAUTHORIZED.value(), "未登录或登录信息已过期")));
|
return Boolean.FALSE;
|
}
|
}
|