Add HttpSessionRequestCache sessionAttrName property

This commit allows to customize the session attribute name. Default is
SPRING_SECURITY_SAVED_REQUEST.

Fixes gh-4130
This commit is contained in:
Eddú Meléndez
2016-11-14 20:38:43 -05:00
committed by Rob Winch
parent aa5df61eff
commit 028854b936
2 changed files with 32 additions and 3 deletions

View File

@@ -35,6 +35,7 @@ import org.springframework.security.web.util.matcher.RequestMatcher;
/**
*
* @author Luke Taylor
* @author Eddú Meléndez
* @since 3.0
*/
public class HttpSessionRequestCacheTests {
@@ -101,6 +102,21 @@ public class HttpSessionRequestCacheTests {
CustomSavedRequest.class);
}
@Test
public void testCustomSessionAttrName() {
HttpSessionRequestCache cache = new HttpSessionRequestCache();
cache.setSessionAttrName("CUSTOM_SAVED_REQUEST");
MockHttpServletRequest request = new MockHttpServletRequest("GET",
"/destination");
MockHttpServletResponse response = new MockHttpServletResponse();
cache.saveRequest(request, response);
assertThat(request.getSession().getAttribute(HttpSessionRequestCache.SAVED_REQUEST)).isNull();
assertThat(request.getSession().getAttribute("CUSTOM_SAVED_REQUEST")).isNotNull();
}
private static final class CustomSavedRequest implements SavedRequest {
private final SavedRequest delegate;