|
@@ -6,11 +6,13 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
import org.springframework.context.annotation.Configuration;
|
|
|
+import org.springframework.http.HttpMethod;
|
|
|
import org.springframework.security.config.annotation.web.reactive.EnableWebFluxSecurity;
|
|
|
import org.springframework.security.config.web.server.ServerHttpSecurity;
|
|
|
import org.springframework.security.web.server.SecurityWebFilterChain;
|
|
|
import org.springframework.security.web.server.authentication.RedirectServerAuthenticationSuccessHandler;
|
|
|
import org.springframework.security.web.server.authentication.logout.RedirectServerLogoutSuccessHandler;
|
|
|
+import org.springframework.security.web.server.util.matcher.ServerWebExchangeMatchers;
|
|
|
|
|
|
@Configuration
|
|
|
@EnableWebFluxSecurity
|
|
@@ -39,7 +41,9 @@ public class BasicAuthSecurityConfig extends AbstractAuthSecurityConfig {
|
|
|
.authenticated()
|
|
|
)
|
|
|
.formLogin(spec -> spec.loginPage(LOGIN_URL).authenticationSuccessHandler(authHandler))
|
|
|
- .logout(spec -> spec.logoutSuccessHandler(logoutSuccessHandler))
|
|
|
+ .logout(spec -> spec
|
|
|
+ .logoutSuccessHandler(logoutSuccessHandler)
|
|
|
+ .requiresLogout(ServerWebExchangeMatchers.pathMatchers(HttpMethod.GET, "/logout")))
|
|
|
.csrf(ServerHttpSecurity.CsrfSpec::disable)
|
|
|
.build();
|
|
|
}
|