diff --git a/web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilter.java b/web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilter.java index 23a465ceee..a35fac4b56 100644 --- a/web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilter.java +++ b/web/src/main/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilter.java @@ -58,7 +58,6 @@ import org.springframework.security.web.authentication.SimpleUrlAuthenticationSu import org.springframework.security.web.authentication.WebAuthenticationDetailsSource; import org.springframework.security.web.util.UrlUtils; import org.springframework.util.Assert; -import org.springframework.util.StringUtils; import org.springframework.web.filter.GenericFilterBean; /** @@ -494,10 +493,8 @@ public class SwitchUserFilter extends GenericFilterBean * @param switchFailureUrl the url to redirect to. */ public void setSwitchFailureUrl(String switchFailureUrl) { - Assert.isTrue( - StringUtils.hasText(this.switchUserUrl) - && UrlUtils.isValidRedirectUrl(switchFailureUrl), - "switchFailureUrl cannot be empty and must be a valid redirect URL"); + Assert.isTrue(UrlUtils.isValidRedirectUrl(switchFailureUrl), + "switchFailureUrl must be a valid redirect URL"); this.switchFailureUrl = switchFailureUrl; } diff --git a/web/src/test/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilterTests.java b/web/src/test/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilterTests.java index 82add67e25..c51a6852df 100644 --- a/web/src/test/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilterTests.java +++ b/web/src/test/java/org/springframework/security/web/authentication/switchuser/SwitchUserFilterTests.java @@ -464,6 +464,23 @@ public class SwitchUserFilterTests { assertThat(switchAuthorityRole).isEqualTo(switchedFrom.getAuthority()); } + @Test(expected = IllegalArgumentException.class) + public void setSwitchFailureUrlWhenNullThenThrowException() { + SwitchUserFilter filter = new SwitchUserFilter(); + filter.setSwitchFailureUrl(null); + } + + @Test(expected = IllegalArgumentException.class) + public void setSwitchFailureUrlWhenEmptyThenThrowException() { + SwitchUserFilter filter = new SwitchUserFilter(); + filter.setSwitchFailureUrl(""); + } + + @Test + public void setSwitchFailureUrlWhenValidThenNoException() { + SwitchUserFilter filter = new SwitchUserFilter(); + filter.setSwitchFailureUrl("/foo"); + } // ~ Inner Classes // ==================================================================================================