解决 Swagger 被 Shiro 拦截的思路

解决 Swagger 被 Shiro 拦截的思路


注意:该项目使用的不是 Swagger 原生的 UI,而是一个第三方的中文 UI。

参考:https://github.com/xiaoymin/swagger-bootstrap-ui

异常现象

在 application.yml 文件中,Shiro 已经允许匿名访问 /doc.html* 和 /webjars/**:
在这里插入图片描述
访问 http://192.168.1.3:8086/doc.html,页面不能正常显示,控制台报错:
在这里插入图片描述

解决思路

暂时注释 authc-urls,即不拦截其他路径:
在这里插入图片描述
再次访问 http://192.168.1.3:8086/doc.html,页面正常显示,控制台没有报错:
在这里插入图片描述
打开 Network 选项卡,可以看到,访问的资源除了来自 /webjars,还有一些资源来自 /v2 和 /swagger-resources:
在这里插入图片描述
在这里插入图片描述
所以,我们还需要修改 Shiro 的匿名访问路径,并取消 authc-urls 的注释:
在这里插入图片描述
OK,这样就可以访问 Swagger。

发布了36 篇原创文章 · 获赞 0 · 访问量 1893

猜你喜欢

转载自blog.csdn.net/qq_29761395/article/details/103532160