| | |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.doumee.core.model.ApiResponse; |
| | | import com.doumee.core.model.LoginUserInfo; |
| | | import com.doumee.core.utils.Constants; |
| | | import org.apache.shiro.cache.Cache; |
| | | import org.apache.shiro.cache.MapCache; |
| | | import org.apache.shiro.session.Session; |
| | | import org.apache.shiro.session.mgt.DefaultSessionKey; |
| | | import org.apache.shiro.session.mgt.SessionManager; |
| | | import org.apache.shiro.subject.Subject; |
| | | 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; |
| | | import java.io.Serializable; |
| | | import java.util.Deque; |
| | | import java.util.LinkedList; |
| | | |
| | | /** |
| | | * Shiro认证过滤器,处理未认证情况的响应 |
| | |
| | | */ |
| | | public class ShiroAuthFilter extends FormAuthenticationFilter { |
| | | |
| | | public ShiroAuthFilter() { |
| | | super(); |
| | | } |
| | | @Override |
| | | protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception { |
| | | |
| | | @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; |
| | | } |
| | | 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; |
| | | } |
| | | } |