From 185d3032f5e82c034dd620faf0e9d49e1e30835d Mon Sep 17 00:00:00 2001 From: Rob Winch Date: Tue, 10 Oct 2017 16:06:05 -0500 Subject: [PATCH] LogoutHandler->ServerLogoutHandler Issue gh-4615 --- .../security/config/web/server/HttpSecurity.java | 16 ++++++++-------- .../authentication/logout/LogoutWebFilter.java | 11 ++++++----- ...a => SecurityContextServerLogoutHandler.java} | 2 +- ...goutHandler.java => ServerLogoutHandler.java} | 2 +- 4 files changed, 16 insertions(+), 15 deletions(-) rename webflux/src/main/java/org/springframework/security/web/server/authentication/logout/{SecurityContextRepositoryLogoutHandler.java => SecurityContextServerLogoutHandler.java} (95%) rename webflux/src/main/java/org/springframework/security/web/server/authentication/logout/{LogoutHandler.java => ServerLogoutHandler.java} (96%) diff --git a/config/src/main/java/org/springframework/security/config/web/server/HttpSecurity.java b/config/src/main/java/org/springframework/security/config/web/server/HttpSecurity.java index 75100de3a6..c4a9970940 100644 --- a/config/src/main/java/org/springframework/security/config/web/server/HttpSecurity.java +++ b/config/src/main/java/org/springframework/security/config/web/server/HttpSecurity.java @@ -35,9 +35,9 @@ import org.springframework.security.web.server.authentication.ServerAuthenticati import org.springframework.security.web.server.authentication.AuthenticationWebFilter; import org.springframework.security.web.server.authentication.RedirectServerAuthenticationEntryPoint; import org.springframework.security.web.server.authentication.RedirectServerAuthenticationSuccessHandler; -import org.springframework.security.web.server.authentication.logout.LogoutHandler; +import org.springframework.security.web.server.authentication.logout.ServerLogoutHandler; import org.springframework.security.web.server.authentication.logout.LogoutWebFilter; -import org.springframework.security.web.server.authentication.logout.SecurityContextRepositoryLogoutHandler; +import org.springframework.security.web.server.authentication.logout.SecurityContextServerLogoutHandler; import org.springframework.security.web.server.authentication.www.HttpBasicServerAuthenticationEntryPoint; import org.springframework.security.web.server.authorization.AuthorizationContext; import org.springframework.security.web.server.authorization.AuthorizationWebFilter; @@ -555,21 +555,21 @@ public class HttpSecurity { */ public final class LogoutBuilder { - private LogoutHandler logoutHandler = new SecurityContextRepositoryLogoutHandler(); + private ServerLogoutHandler serverLogoutHandler = new SecurityContextServerLogoutHandler(); private String logoutUrl = "/logout"; private ServerWebExchangeMatcher requiresLogout = ServerWebExchangeMatchers .pathMatchers(this.logoutUrl); - public LogoutBuilder logoutHandler(LogoutHandler logoutHandler) { - Assert.notNull(logoutHandler, "logoutHandler must not be null"); - this.logoutHandler = logoutHandler; + public LogoutBuilder logoutHandler(ServerLogoutHandler serverLogoutHandler) { + Assert.notNull(serverLogoutHandler, "logoutHandler must not be null"); + this.serverLogoutHandler = serverLogoutHandler; return this; } public LogoutBuilder logoutUrl(String logoutUrl) { - Assert.notNull(this.logoutHandler, "logoutUrl must not be null"); + Assert.notNull(this.serverLogoutHandler, "logoutUrl must not be null"); this.logoutUrl = logoutUrl; this.requiresLogout = ServerWebExchangeMatchers.pathMatchers(logoutUrl); return this; @@ -591,7 +591,7 @@ public class HttpSecurity { private LogoutWebFilter createLogoutWebFilter(HttpSecurity http) { LogoutWebFilter logoutWebFilter = new LogoutWebFilter(); - logoutWebFilter.setLogoutHandler(this.logoutHandler); + logoutWebFilter.setServerLogoutHandler(this.serverLogoutHandler); logoutWebFilter.setRequiresLogout(this.requiresLogout); return logoutWebFilter; diff --git a/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutWebFilter.java b/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutWebFilter.java index a2c0a5350e..b76b7ae0e9 100644 --- a/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutWebFilter.java +++ b/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutWebFilter.java @@ -36,7 +36,7 @@ import org.springframework.web.server.WebFilterChain; public class LogoutWebFilter implements WebFilter { private AnonymousAuthenticationToken anonymousAuthenticationToken = new AnonymousAuthenticationToken("key", "anonymous", AuthorityUtils.createAuthorityList("ROLE_ANONYMOUS")); - private LogoutHandler logoutHandler = new SecurityContextRepositoryLogoutHandler(); + private ServerLogoutHandler serverLogoutHandler = new SecurityContextServerLogoutHandler(); private ServerWebExchangeMatcher requiresLogout = ServerWebExchangeMatchers .pathMatchers("/logout"); @@ -47,7 +47,8 @@ public class LogoutWebFilter implements WebFilter { .filter( result -> result.isMatch()) .switchIfEmpty(chain.filter(exchange).then(Mono.empty())) .flatMap( result -> authentication(exchange)) - .flatMap( authentication -> this.logoutHandler.logout(new WebFilterExchange(exchange, chain), authentication)); + .flatMap( authentication -> this.serverLogoutHandler + .logout(new WebFilterExchange(exchange, chain), authentication)); } private Mono authentication(ServerWebExchange exchange) { @@ -56,9 +57,9 @@ public class LogoutWebFilter implements WebFilter { .defaultIfEmpty(this.anonymousAuthenticationToken); } - public final void setLogoutHandler(LogoutHandler logoutHandler) { - Assert.notNull(logoutHandler, "logoutHandler must not be null"); - this.logoutHandler = logoutHandler; + public final void setServerLogoutHandler(ServerLogoutHandler serverLogoutHandler) { + Assert.notNull(serverLogoutHandler, "logoutHandler must not be null"); + this.serverLogoutHandler = serverLogoutHandler; } public final void setRequiresLogout(ServerWebExchangeMatcher serverWebExchangeMatcher) { diff --git a/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextRepositoryLogoutHandler.java b/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextServerLogoutHandler.java similarity index 95% rename from webflux/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextRepositoryLogoutHandler.java rename to webflux/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextServerLogoutHandler.java index d7335961a1..8009e40a4f 100644 --- a/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextRepositoryLogoutHandler.java +++ b/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/SecurityContextServerLogoutHandler.java @@ -30,7 +30,7 @@ import java.net.URI; * @author Rob Winch * @since 5.0 */ -public class SecurityContextRepositoryLogoutHandler implements LogoutHandler { +public class SecurityContextServerLogoutHandler implements ServerLogoutHandler { private SecurityContextServerRepository repository = new WebSessionSecurityContextServerRepository(); private URI logoutSuccessUrl = URI.create("/login?logout"); diff --git a/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutHandler.java b/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutHandler.java similarity index 96% rename from webflux/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutHandler.java rename to webflux/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutHandler.java index bd478bb067..7e85ac1d99 100644 --- a/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/LogoutHandler.java +++ b/webflux/src/main/java/org/springframework/security/web/server/authentication/logout/ServerLogoutHandler.java @@ -24,6 +24,6 @@ import reactor.core.publisher.Mono; * @author Rob Winch * @since 5.0 */ -public interface LogoutHandler { +public interface ServerLogoutHandler { Mono logout(WebFilterExchange exchange, Authentication authentication); }