mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-06-01 09:42:13 +00:00
Fix SwitchUserFilter.setSwitchFailureUrl assertion
Fixes gh-4198
This commit is contained in:
parent
017e9834bd
commit
247f54dc41
@ -58,7 +58,6 @@ import org.springframework.security.web.authentication.SimpleUrlAuthenticationSu
|
|||||||
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
|
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
|
||||||
import org.springframework.security.web.util.UrlUtils;
|
import org.springframework.security.web.util.UrlUtils;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
import org.springframework.web.filter.GenericFilterBean;
|
import org.springframework.web.filter.GenericFilterBean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -494,10 +493,8 @@ public class SwitchUserFilter extends GenericFilterBean
|
|||||||
* @param switchFailureUrl the url to redirect to.
|
* @param switchFailureUrl the url to redirect to.
|
||||||
*/
|
*/
|
||||||
public void setSwitchFailureUrl(String switchFailureUrl) {
|
public void setSwitchFailureUrl(String switchFailureUrl) {
|
||||||
Assert.isTrue(
|
Assert.isTrue(UrlUtils.isValidRedirectUrl(switchFailureUrl),
|
||||||
StringUtils.hasText(this.switchUserUrl)
|
"switchFailureUrl must be a valid redirect URL");
|
||||||
&& UrlUtils.isValidRedirectUrl(switchFailureUrl),
|
|
||||||
"switchFailureUrl cannot be empty and must be a valid redirect URL");
|
|
||||||
this.switchFailureUrl = switchFailureUrl;
|
this.switchFailureUrl = switchFailureUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -464,6 +464,23 @@ public class SwitchUserFilterTests {
|
|||||||
assertThat(switchAuthorityRole).isEqualTo(switchedFrom.getAuthority());
|
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
|
// ~ Inner Classes
|
||||||
// ==================================================================================================
|
// ==================================================================================================
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user