mirror of
https://github.com/spring-projects/spring-security.git
synced 2026-03-30 14:08:11 +00:00
Merge branch '7.0.x'
This commit is contained in:
commit
0606ff152b
@ -113,9 +113,14 @@ public abstract class AbstractAuthenticationTargetUrlRequestHandler {
|
||||
trace("Using url %s from request parameter %s", targetUrlParameterValue, this.targetUrlParameter);
|
||||
return targetUrlParameterValue;
|
||||
}
|
||||
|
||||
String refererHeader = request.getHeader("Referer");
|
||||
if (!StringUtils.hasText(refererHeader)) {
|
||||
return this.defaultTargetUrl;
|
||||
}
|
||||
if (this.useReferer) {
|
||||
trace("Using url %s from Referer header", request.getHeader("Referer"));
|
||||
return request.getHeader("Referer");
|
||||
trace("Using url %s from Referer header", refererHeader);
|
||||
return refererHeader;
|
||||
}
|
||||
return this.defaultTargetUrl;
|
||||
}
|
||||
|
||||
@ -114,4 +114,12 @@ public class AbstractAuthenticationTargetUrlRequestHandlerTests {
|
||||
assertThatIllegalArgumentException().isThrownBy(() -> this.handler.setRedirectStrategy(null));
|
||||
}
|
||||
|
||||
// gh-18805
|
||||
@Test
|
||||
void returnDefaultUrlIfUseRefererIsTrueAndRefererHeaderIsEmpty() {
|
||||
this.handler.setUseReferer(true);
|
||||
this.request.addHeader("Referer", "");
|
||||
assertThat(this.handler.determineTargetUrl(this.request, this.response)).isEqualTo(DEFAULT_TARGET_URL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user