Merge pull request #42679 from quaff

* pr/42679:
  Remove deprecated method call on AuthorityAuthorizationManager

Closes gh-42679
This commit is contained in:
Moritz Halbritter
2024-10-15 09:02:48 +02:00
2 changed files with 8 additions and 6 deletions

View File

@@ -57,6 +57,7 @@ import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authorization.AuthorityAuthorizationManager;
import org.springframework.security.authorization.AuthorizationResult;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.ReactiveSecurityContextHolder;
import org.springframework.util.AntPathMatcher;
@@ -523,9 +524,9 @@ public abstract class AbstractWebFluxEndpointHandlerMapping extends RequestMappi
@Override
public boolean isUserInRole(String role) {
String authority = (!role.startsWith(ROLE_PREFIX)) ? ROLE_PREFIX + role : role;
return AuthorityAuthorizationManager.hasAuthority(authority)
.check(this::getAuthentication, null)
.isGranted();
AuthorizationResult result = AuthorityAuthorizationManager.hasAuthority(authority)
.authorize(this::getAuthentication, null);
return result != null && result.isGranted();
}
}

View File

@@ -25,6 +25,7 @@ import org.springframework.boot.actuate.audit.listener.AuditApplicationEvent;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
import org.springframework.security.authorization.AuthorizationDecision;
import org.springframework.security.authorization.AuthorizationResult;
import org.springframework.security.authorization.event.AuthorizationDeniedEvent;
import org.springframework.security.authorization.event.AuthorizationEvent;
@@ -48,7 +49,7 @@ class AuthorizationAuditListenerTests {
@Test
void authorizationDeniedEvent() {
AuthorizationDecision decision = new AuthorizationDecision(false);
AuthorizationResult decision = new AuthorizationDecision(false);
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken("spring",
"password");
authentication.setDetails("details");
@@ -62,7 +63,7 @@ class AuthorizationAuditListenerTests {
@Test
void authorizationDeniedEventWhenAuthenticationIsNotAvailable() {
AuthorizationDecision decision = new AuthorizationDecision(false);
AuthorizationResult decision = new AuthorizationDecision(false);
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken("spring",
"password");
authentication.setDetails("details");
@@ -77,7 +78,7 @@ class AuthorizationAuditListenerTests {
@Test
void authorizationDeniedEventWhenAuthenticationDoesNotHaveDetails() {
AuthorizationDecision decision = new AuthorizationDecision(false);
AuthorizationResult decision = new AuthorizationDecision(false);
UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken("spring",
"password");
AuthorizationDeniedEvent<?> authorizationEvent = new AuthorizationDeniedEvent<>(() -> authentication, "",