SpringBoot整合Shiro,Swagger2页面样式加载不出来问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fly910905/article/details/91431128

问题现象:

在把/swagger-ui.html,赋值为anno的权限后,依然出现页面空白,调试分析是因为css和js没有加载进来

因此可以推断拦截器拦截了

"/swagger-resources"

"/v2/api-docs"

几个包的资源,修改shiro可以匿名访问后,发现有一些样式仍不能加载:

发现"/webjars/springfox-swagger-ui/**"样式也被拦截了,

最终可以完美运行的代码如下:

// SWAGGER2过滤【START】
filterChainDefinitionMap.put("/swagger-ui.html", "anon");
filterChainDefinitionMap.put("/swagger-resources", "anon");
filterChainDefinitionMap.put("/swagger-resources/**", "anon");
filterChainDefinitionMap.put("/v2/api-docs", "anon");
filterChainDefinitionMap.put("/webjars/springfox-swagger-ui/**", "anon");
// SWAGGER2过滤【END】

Shiro配置URL过滤

常用过滤器:

  • anon     不需要认证
  • authc     需要认证
  • user     验证通过或RememberMe登录的都可以

URL说明:

  • /admin?=authc      表示可以请求以admin开头的字符串,如xxx/adminfefe,但无法匹配多个,即xxx/admindf/admin是不行的
  • /admin*=authc      表示可以匹配零个或者多个字符,如/admin,/admin1,/admin123,但是不能匹配/admin/abc这种
  • /admin/**=authc      表示可以匹配零个或者多个路径,如/admin,/admin/ad/adfdf等

注意:

/login=anon  不会对http://localhost:8080/login/起效果

/login=anon 和  /login=anon/  不一样

猜你喜欢

转载自blog.csdn.net/fly910905/article/details/91431128