怎样设置SpringBoot让整个Controller不被拦截?

小乌蝇 发布于 02/12 10:38
阅读 579
收藏 0

在配置拦截器时可以配置不被拦截的登录路径,我的路径是“/*”,但又其他controller的默认路径也是一层的,例如“/abc”,这样这个路径也不会被拦截,我想问有没有方法可以让某个controller不被拦截?这样我可以将整个登录用controller设置不被拦截了

加载中
0
ExtremeTalk
ExtremeTalk
那你干嘛要配/*
ExtremeTalk
ExtremeTalk
回复 @小乌蝇 : 调整你的URL,让需要被拦截的放到下一级,可以参考这个:http://github.com/swiftech/swiftboot/blob/master/swiftboot-demo/src/main/java/org/swiftboot/demo/SwiftBootDemoFilterConfig.java
小乌蝇
这只是举个例子,系统的登录路径就是/,而登出、验证码和其他操作都是在这个controller里面,所以我想把这个controller不被拦截
0
永远的小树

在拦截器里面修改一下,根据请求路径做放行

 

0
j
jun_anderson

excludePathPatterns()

0
f
freezingsky

匹配路径用正则,然后剔除对应路径 就可以了

0
0
小乌蝇

引用来自“行走在码路上”的评论

正常你应该用shiro

你好,目前就是使用shiro,遇到一个问题,如果我配置了自定义的拦截器(例如判断用户登录是否),shiro是优先进行权限验证的,如果用户过期的话就直接跳转到 setLoginUrl(url) 了,请问配置可以先调用我自定义的拦截器吗?

0
chentao106
chentao106

Interceptor里exclude的优先级是高于include的,你这种include中有exclude,exclude里面又有include的情况,是搞不定的。给你上中下三策:

上策:将登录拦截器规划到某个路径之下,再排除此路径,比如我一般将未登录时可用的请求以/a打头:/a/login

中策:要排除的路径使用具体路径,而不用通匹符,如registry.excludePathPatterns("/login","/logon")

下策:在不想拦截登录的拦截器里,写代码过滤掉登录路径

小乌蝇
嗯,目前就是想到类似你的上策了,登录用的contoller只有1层,其他路径至少两层
0
B
BOBO李

拦就拦呗,然后在拦截器代码中判断是哪个controller,再过掉就好了嘛

返回顶部
顶部

页面底部区域 foot.htm