SSM整合Swagger和Shiro时出现的问题:

一:启动swagger报错Unable to infer base url. This is common when using dynamic servlet

解决方法

在shiro配置文件的自定义的过滤链中加上一下代码:

<!-- swagger有关的不拦截 --> /swagger-ui.html = anon /webjars/** = anon /v2/** = anon /swagger-resources/** = anon <!-- shiro提供了退出登录的配置`logout`, 会生成路径为`logout`的请求,访问这个地址即会退出当前账户并清空缓存 --> /backend/admin/logout = logoutswagger的配置类只能够在SpringMVC的配置文件中被扫描,不能交给spring容器处理。springMVC只是spring的一个子容器,存在父子关系。如果swagger让spring的context加载,那么swagger的那些url用springmvc的拦截器是拦截不到的
 
springMVC的配置文件

<!-- SpringMVC的配置文件,包含网站跳转逻辑的控制,配置 --><context:component-scan base-package="com.zgz.traintickets.controller,swagger" use-default-filters="false"> <!-- 只扫描控制器 --> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/></context:component-scan>

 
spring的配置文件之一:

 

注意事项
记得清理浏览器和服务器的缓存