Swagger2不被SpringSecurity框架拦截的配置方法是什么
短信预约 -IT技能 免费直播动态提醒
本篇内容主要讲解“Swagger2不被SpringSecurity框架拦截的配置方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Swagger2不被SpringSecurity框架拦截的配置方法是什么”吧!
Swagger2不被SpringSecurity框架拦截的配置
打算在SpringSecurity框架中集成Swagger2框架进行接口功能的运行及测试,发现Swagger2会被SpringSecurity框架拦截,导致我们在浏览器中访问不了Swagger2首页。
解决这个问题的主要方法只需要在SpringSecurity的配置类中添加一个方法即可,博主的SpringSecurity的配置类定义为SecurityConfig,添加以下代码重启项目再访问即可;
@Override public void configure(WebSecurity web) throws Exception { // allow Swagger URL to be accessed without authentication web.ignoring().antMatchers( "/swagger-ui.html", "/v2/api-docs", // swagger api json "/swagger-resources/configuration/ui", // 用来获取支持的动作 "/swagger-resources", // 用来获取api-docs的URI "/swagger-resources/configuration/security", // 安全选项 "/swagger-resources@Configurationpublic class SecurityConfig extends WebSecurityConfigurerAdapter { @Autowired private MyAuthenticationSuccessHandler successHandler; @Autowired private MyAuthenticationFailureHandler failureHandler; @Autowired private MyAccessDeniedHandler accessDeniedHandler; @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } @Override protected void configure(HttpSecurity http) throws Exception { http.formLogin() .loginPage("/needLogin") .loginProcessingUrl("/login").permitAll() .successHandler(successHandler) .failureHandler(failureHandler) .and() .authorizeRequests() // 授权不需要登录权限的URL .antMatchers("/needLogin", "/swagger*//**").permitAll() .requestMatchers(CorsUtils::isPreFlightRequest).permitAll() .anyRequest().access("@rbacService.hasPermission(request,authentication)"). and().exceptionHandling().accessDeniedHandler(accessDeniedHandler). and().cors().and().csrf().disable() ; }}
到此,相信大家对“Swagger2不被SpringSecurity框架拦截的配置方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341