问题:
当springboot2.x整合swagger的时候,没有遇到任何困难,但是当引入security的时候,问题十分严重,直接就导致swagger进入不了了,
几经折腾,才终于发现了问题。
期间遇到的问题:
1.swagger需要登录
2.swagger进不去,直接无法访问,进入springboot错误界面/error
3.网上一大堆说法不一样的问题
问题排查
1.首先我想知道当我注册HandlerInterceptor的时候是否注册有效,再preHandle里面写一个sytem打印输出。
2.注册有效,那么是不是.excludePathPatterns()无效呢,这个就十分难进行排查,但是这里可以采用以下代码。
1 | @Override |
得到请求路径,这样可以帮助我们判断是否去拦截成功,那么到底是哪儿有问题呢?
springboot 2.x 依赖spring5 所以在拦截器方面会有某些不一致的情况,下面贴出spring部分源码:
spring 4.x 处理Interceptor
1 | /** |
spring 5.x处理Interceptor
1 | /** |
从spring5源码可以看出,这里可以直接这样配置,这里根据自己的需求进行更改:
1 | package com.hyfj.soft.springbootdemo.config; |
问题解决!
- 本文作者: Cayden
- 本文链接: http://example.com/2020/04/06/security整合swagger/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!