shiro框架中有拦截器(过滤器)Filter机制,先将我们的request请求进行匹配,如果匹配成功,则执行相应的Filter,如果不匹配,则放行,让Servlet的拦截器去匹配,执行相应的Controller。
Filter修改request的url,让Filter授权失败了,还能继续访问我们的一个Controller层 接口。
protected boolean isAccessAllowed(ServletRequest servletRequest, ServletResponse servletResponse, Object o){
String path="/user/haveNoPermission";
httpServletRequest.getRequestDispatcher(path).forward(httpServletRequest,servletRespons
e);
return true;
}
然后Filter还要return true,放行请求,让Servlet去拦截匹配,这样就可以去访问执行我们的 /user/haveNoPermission 接口方法了。