shiro配置不被拦截路径,不生效踩得坑记录
请求的requestURI的路径是 /gaw-job/test/test3
所以我很自然的就配置shiroConfig的不拦截路径为
然后一直不生效,后来断点到shiro路径匹配的时候
发现shiro匹配的路径是request.getServletPath()
而我们上方的request.getRequestURI()(就是/gaw-job/test/test3)等于
request.getContextPath() + request.getServletPath()
request.getContextPath()就是我们yml配置的context-path
所以我们的shiro过滤路径要为(就是去掉context-path),问题解决
附上他们的区别
request.getRequestURI() 、request.getRequestURL() 、request.getContextPath()、request.getServletPath()区别
request.getRequestURL()
:
http://localhost:8080/gaw-job/test/test3
request.getRequestURI()
:
/gaw-job/test/test3
request.getContextPath()
:
/gaw-job
request.getServletPath()
:
/test/test3