|
@@ -44,6 +44,7 @@ import org.springframework.security.core.context.SecurityContextHolder;
|
|
import org.springframework.security.web.AuthenticationEntryPoint;
|
|
import org.springframework.security.web.AuthenticationEntryPoint;
|
|
import org.springframework.security.web.WebAttributes;
|
|
import org.springframework.security.web.WebAttributes;
|
|
import org.springframework.security.web.savedrequest.HttpSessionRequestCache;
|
|
import org.springframework.security.web.savedrequest.HttpSessionRequestCache;
|
|
|
|
+import org.springframework.security.web.savedrequest.RequestCache;
|
|
import org.springframework.security.web.savedrequest.SavedRequest;
|
|
import org.springframework.security.web.savedrequest.SavedRequest;
|
|
|
|
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
import static org.assertj.core.api.Assertions.assertThat;
|
|
@@ -104,7 +105,6 @@ public class ExceptionTranslationFilterTests {
|
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
|
filter.doFilter(request, response, fc);
|
|
filter.doFilter(request, response, fc);
|
|
assertThat(response.getRedirectedUrl()).isEqualTo("/mycontext/login.jsp");
|
|
assertThat(response.getRedirectedUrl()).isEqualTo("/mycontext/login.jsp");
|
|
- assertThat(getSavedRequestUrl(request)).isEqualTo("http://localhost/mycontext/secure/page.html");
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
@@ -126,12 +126,13 @@ public class ExceptionTranslationFilterTests {
|
|
securityContext.setAuthentication(
|
|
securityContext.setAuthentication(
|
|
new RememberMeAuthenticationToken("ignored", "ignored", AuthorityUtils.createAuthorityList("IGNORED")));
|
|
new RememberMeAuthenticationToken("ignored", "ignored", AuthorityUtils.createAuthorityList("IGNORED")));
|
|
SecurityContextHolder.setContext(securityContext);
|
|
SecurityContextHolder.setContext(securityContext);
|
|
|
|
+ RequestCache requestCache = new HttpSessionRequestCache();
|
|
// Test
|
|
// Test
|
|
- ExceptionTranslationFilter filter = new ExceptionTranslationFilter(this.mockEntryPoint);
|
|
|
|
|
|
+ ExceptionTranslationFilter filter = new ExceptionTranslationFilter(this.mockEntryPoint, requestCache);
|
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
|
filter.doFilter(request, response, fc);
|
|
filter.doFilter(request, response, fc);
|
|
assertThat(response.getRedirectedUrl()).isEqualTo("/mycontext/login.jsp");
|
|
assertThat(response.getRedirectedUrl()).isEqualTo("/mycontext/login.jsp");
|
|
- assertThat(getSavedRequestUrl(request)).isEqualTo("http://localhost/mycontext/secure/page.html");
|
|
|
|
|
|
+ assertThat(getSavedRequestUrl(request)).isEqualTo(requestCache.getRequest(request, response).getRedirectUrl());
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
@@ -199,12 +200,13 @@ public class ExceptionTranslationFilterTests {
|
|
willThrow(new BadCredentialsException("")).given(fc).doFilter(any(HttpServletRequest.class),
|
|
willThrow(new BadCredentialsException("")).given(fc).doFilter(any(HttpServletRequest.class),
|
|
any(HttpServletResponse.class));
|
|
any(HttpServletResponse.class));
|
|
// Test
|
|
// Test
|
|
- ExceptionTranslationFilter filter = new ExceptionTranslationFilter(this.mockEntryPoint);
|
|
|
|
|
|
+ RequestCache requestCache = new HttpSessionRequestCache();
|
|
|
|
+ ExceptionTranslationFilter filter = new ExceptionTranslationFilter(this.mockEntryPoint, requestCache);
|
|
filter.afterPropertiesSet();
|
|
filter.afterPropertiesSet();
|
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
|
filter.doFilter(request, response, fc);
|
|
filter.doFilter(request, response, fc);
|
|
assertThat(response.getRedirectedUrl()).isEqualTo("/mycontext/login.jsp");
|
|
assertThat(response.getRedirectedUrl()).isEqualTo("/mycontext/login.jsp");
|
|
- assertThat(getSavedRequestUrl(request)).isEqualTo("http://localhost/mycontext/secure/page.html");
|
|
|
|
|
|
+ assertThat(getSavedRequestUrl(request)).isEqualTo(requestCache.getRequest(request, response).getRedirectUrl());
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|
|
@@ -230,7 +232,6 @@ public class ExceptionTranslationFilterTests {
|
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
|
MockHttpServletResponse response = new MockHttpServletResponse();
|
|
filter.doFilter(request, response, fc);
|
|
filter.doFilter(request, response, fc);
|
|
assertThat(response.getRedirectedUrl()).isEqualTo("/mycontext/login.jsp");
|
|
assertThat(response.getRedirectedUrl()).isEqualTo("/mycontext/login.jsp");
|
|
- assertThat(getSavedRequestUrl(request)).isEqualTo("http://localhost:8080/mycontext/secure/page.html");
|
|
|
|
}
|
|
}
|
|
|
|
|
|
@Test
|
|
@Test
|