Я реализовал Spring Security в приложении Spring boot2. После этого я попытался реализовать Swagger в том же приложении. На весенней странице конфигурации безопасности я реализовал игнорирование webSecurity, а также реализовал опцию allowALL для swagger url. Тем не менее, когда я пытаюсь получить какой-либо сервис через URL-адрес swagger, он перенаправляет на страницу журнала безопасности Spring.
Ниже приведены реализация и выходные данные конфигурации безопасности Spring и конфигурации swagger:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{
@Autowired
UserDetailsService userDetailsService;
public SecurityConfig() {
// TODO Auto-generated constructor stub
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService)
.passwordEncoder(NoOpPasswordEncoder.getInstance());
}
/**
* Example of Authorization
*/
@Override
protected void configure(HttpSecurity http) throws Exception {
// TODO Auto-generated method stub
http.authorizeRequests()
.antMatchers("/v2/api-docs",
"/configuration/ui",
"/swagger-resources/**",
"/configuration/**",
"/swagger-ui/**",
"/webjars/**")
.permitAll()
.anyRequest()
.authenticated()
.antMatchers("/allemployees")
.hasAnyAuthority("USER", "ADMIN")
.antMatchers("/getuser/*")
.hasAuthority("ADMIN")
.and()
.formLogin()
.and()
.csrf()
.disable()
;
}
@Override
public void configure(WebSecurity web) throws Exception {
//web.ignoring().antMatchers("/swagger*/**");
web.ignoring()
.antMatchers("/v2/api-docs",
"/configuration/ui",
"/swagger-resources/**",
"/configuration/**",
"/swagger-ui.html/**",
"/webjars/**")
;
}
}
@Configuration
@EnableSwagger2
public class SwaggerConfig {
public SwaggerConfig() {
// TODO Auto-generated constructor stub
}
@Bean
public Docket getDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
Вывод [Swagger перенаправляется на страницу входа в систему безопасности Spring] [1]
[1]: https://i.stack.imgur.com/eekLR.jpg