本文针对若依单体项目,解决若依在不登录情况下,如何直接访问swagger页面。 框架默认在未登录的情况下,是不能直接访问swagger页面的。
最近很多人在问,为什么明明在ShiroConfig里面对接口匿名访问,访问还是会别被重定向到登录页面呢?删除了权限注解依旧没有效果。下面提供解决方法。
注意:该方法适用于4.6.2版本,其它版本未测。
项目地址:RuoYi: 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用
解决方法:在ShiroConfig.java中shiroFilterFactoryBean方法内增加以下代码
// 不需要登录访问swagger
filterChainDefinitionMap.put("/tool/swagger", "anon");
filterChainDefinitionMap.put("/swagger-ui/**", "anon");
filterChainDefinitionMap.put("/v3/api-docs/**", "anon");
filterChainDefinitionMap.put("/swagger-resources/**", "anon");
重启项目即可看到不需要登录就可以访问到swagger页面:http://localhost/tool/swagger
如果配之后访问如果还报403异常,你需要将/tool/swagger方法上的权限注解给注释掉。