Merge branch '6.1.x' into 6.2.x
This commit is contained in:
+1
-1
@@ -52,7 +52,7 @@ public class ExceptionTranslationWebFilter implements WebFilter {
|
||||
return chain.filter(exchange)
|
||||
.onErrorResume(AccessDeniedException.class, (denied) -> exchange.getPrincipal()
|
||||
.filter((principal) -> (!(principal instanceof Authentication) || (principal instanceof Authentication
|
||||
&& !(this.authenticationTrustResolver.isAnonymous((Authentication) principal)))))
|
||||
&& (this.authenticationTrustResolver.isAuthenticated((Authentication) principal)))))
|
||||
.switchIfEmpty(commenceAuthentication(exchange,
|
||||
new InsufficientAuthenticationException(
|
||||
"Full authentication is required to access this resource")))
|
||||
|
||||
+1
-1
@@ -93,7 +93,7 @@ public class SecurityContextHolderAwareRequestWrapper extends HttpServletRequest
|
||||
*/
|
||||
private Authentication getAuthentication() {
|
||||
Authentication auth = this.securityContextHolderStrategy.getContext().getAuthentication();
|
||||
return (!this.trustResolver.isAnonymous(auth)) ? auth : null;
|
||||
return (this.trustResolver.isAuthenticated(auth)) ? auth : null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ public class SessionManagementFilter extends GenericFilterBean {
|
||||
request.setAttribute(FILTER_APPLIED, Boolean.TRUE);
|
||||
if (!this.securityContextRepository.containsContext(request)) {
|
||||
Authentication authentication = this.securityContextHolderStrategy.getContext().getAuthentication();
|
||||
if (authentication != null && !this.trustResolver.isAnonymous(authentication)) {
|
||||
if (this.trustResolver.isAuthenticated(authentication)) {
|
||||
// The user has been authenticated during the current request, so call the
|
||||
// session strategy
|
||||
try {
|
||||
|
||||
+1
-1
@@ -140,7 +140,7 @@ public class SecurityContextHolderAwareRequestWrapperTests {
|
||||
String username = "authPrincipalUsername";
|
||||
AuthenticatedPrincipal principal = mock(AuthenticatedPrincipal.class);
|
||||
given(principal.getName()).willReturn(username);
|
||||
Authentication auth = new TestingAuthenticationToken(principal, "user");
|
||||
Authentication auth = new TestingAuthenticationToken(principal, "user", "ROLE_USER");
|
||||
SecurityContextHolder.getContext().setAuthentication(auth);
|
||||
MockHttpServletRequest request = new MockHttpServletRequest();
|
||||
request.setRequestURI("/");
|
||||
|
||||
+6
-2
@@ -22,6 +22,7 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.junit.jupiter.api.AfterEach;
|
||||
import org.junit.jupiter.api.BeforeEach;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.Answers;
|
||||
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.mock.web.MockFilterChain;
|
||||
@@ -45,6 +46,7 @@ import static org.mockito.BDDMockito.willThrow;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.verifyNoMoreInteractions;
|
||||
import static org.mockito.Mockito.withSettings;
|
||||
|
||||
/**
|
||||
* @author Luke Taylor
|
||||
@@ -244,7 +246,8 @@ public class SessionManagementFilterTests {
|
||||
|
||||
@Test
|
||||
public void customAuthenticationTrustResolver() throws Exception {
|
||||
AuthenticationTrustResolver trustResolver = mock(AuthenticationTrustResolver.class);
|
||||
AuthenticationTrustResolver trustResolver = mock(AuthenticationTrustResolver.class,
|
||||
withSettings().defaultAnswer(Answers.CALLS_REAL_METHODS));
|
||||
SecurityContextRepository repo = mock(SecurityContextRepository.class);
|
||||
SessionManagementFilter filter = new SessionManagementFilter(repo);
|
||||
filter.setTrustResolver(trustResolver);
|
||||
@@ -262,7 +265,8 @@ public class SessionManagementFilterTests {
|
||||
}
|
||||
|
||||
private void authenticateUser() {
|
||||
SecurityContextHolder.getContext().setAuthentication(new TestingAuthenticationToken("user", "pass"));
|
||||
SecurityContextHolder.getContext()
|
||||
.setAuthentication(new TestingAuthenticationToken("user", "pass", "ROLE_USER"));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user