Kiedy loguje się za pierwszym razem za pomocą panelu (tego ze Spring Security), to normalnie wyświetlają mi się wszystkie endpointy w Swagerze, ale jak wyloguje się za pomocą localhost:8080/logout i potem chcę się zalogować na innego użytkownika to już dostaję błąd 404 Not Found i jestem na stronie localhost:8080.
Konfiguracja Spring Security:
package com.example.todolistjava.account.domain;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.httpBasic()
.and()
.formLogin()
.and()
.logout()
.permitAll()
.and()
.authorizeRequests()
.mvcMatchers("/api/registration","/h2/console/**")
.permitAll()
.mvcMatchers("api/admin/**")
.hasAnyAuthority("ADMIN")
.anyRequest()
.authenticated()
.and()
.csrf()
.disable()
.headers()
.frameOptions()
.disable();
}
}
Konfiguracja Swaggera:
package com.example.todolistjava.shared;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
class SwaggerConfig {
@Bean
Docket api() {
return new Docket(DocumentationType.OAS_30)
.select()
.paths(PathSelectors.ant("/api/**"))
.build();
}
}