SEC-1167: Introduce more flexible SavedRequest handling. Add namespace support for a custom RequestCache through the request-cache element.

This commit is contained in:
Luke Taylor
2009-09-09 21:40:12 +00:00
parent aa2999caec
commit fa7404741b
3 changed files with 30 additions and 7 deletions

View File

@@ -70,6 +70,7 @@ import org.springframework.security.web.authentication.ui.DefaultLoginPageGenera
import org.springframework.security.web.authentication.www.BasicProcessingFilter;
import org.springframework.security.web.context.HttpSessionSecurityContextRepository;
import org.springframework.security.web.context.SecurityContextPersistenceFilter;
import org.springframework.security.web.savedrequest.HttpSessionRequestCache;
import org.springframework.security.web.savedrequest.RequestCacheAwareFilter;
import org.springframework.security.web.session.SessionAuthenticationStrategy;
import org.springframework.security.web.session.SessionManagementFilter;
@@ -784,6 +785,19 @@ public class HttpSecurityBeanDefinitionParserTests {
seshStrategy.onAuthentication(auth, new MockHttpServletRequest(), new MockHttpServletResponse());
}
@Test
public void externalRequestCacheIsConfiguredCorrectly() throws Exception {
setContext(
"<http auto-config='true'>" +
" <request-cache ref='cache' />" +
"</http>" +
"<b:bean id='cache' class='" + HttpSessionRequestCache.class.getName() + "'/>" +
AUTH_PROVIDER_XML);
ExceptionTranslationFilter etf = (ExceptionTranslationFilter) getFilter(ExceptionTranslationFilter.class);
Object requestCache = appContext.getBean("cache");
assertSame(requestCache, FieldUtils.getFieldValue(etf, "requestCache"));
}
@Test
public void customEntryPointIsSupported() throws Exception {
setContext(