Skip to content

Commit 03a6d80

Browse files
committed
Revert "Use AuthorizationManagerFactory for Secured annotations"
This reverts commit 783182d.
1 parent 783182d commit 03a6d80

File tree

1 file changed

+1
-41
lines changed

1 file changed

+1
-41
lines changed

config/src/main/java/org/springframework/security/config/annotation/method/configuration/SecuredMethodSecurityConfiguration.java

Lines changed: 1 addition & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,11 @@
1616

1717
package org.springframework.security.config.annotation.method.configuration;
1818

19-
import java.util.Collection;
20-
import java.util.Map;
21-
import java.util.concurrent.ConcurrentHashMap;
2219
import java.util.function.Supplier;
2320

2421
import org.aopalliance.intercept.MethodInterceptor;
2522
import org.aopalliance.intercept.MethodInvocation;
26-
import org.jspecify.annotations.Nullable;
23+
2724
import org.springframework.aop.Pointcut;
2825
import org.springframework.aop.framework.AopInfrastructureBean;
2926
import org.springframework.beans.factory.ObjectProvider;
@@ -39,12 +36,9 @@
3936
import org.springframework.security.authorization.AuthoritiesAuthorizationManager;
4037
import org.springframework.security.authorization.AuthorizationEventPublisher;
4138
import org.springframework.security.authorization.AuthorizationManager;
42-
import org.springframework.security.authorization.AuthorizationManagerFactory;
43-
import org.springframework.security.authorization.AuthorizationResult;
4439
import org.springframework.security.authorization.method.AuthorizationManagerBeforeMethodInterceptor;
4540
import org.springframework.security.authorization.method.SecuredAuthorizationManager;
4641
import org.springframework.security.config.ObjectPostProcessor;
47-
import org.springframework.security.core.Authentication;
4842
import org.springframework.security.core.context.SecurityContextHolderStrategy;
4943

5044
/**
@@ -107,38 +101,4 @@ void setEventPublisher(AuthorizationEventPublisher eventPublisher) {
107101
this.methodInterceptor.setAuthorizationEventPublisher(eventPublisher);
108102
}
109103

110-
@Autowired(required = false)
111-
void setAuthorizationManagerFactory(AuthorizationManagerFactory<Collection<String>> authorizationManagerFactory) {
112-
this.authorizationManager.setAuthoritiesAuthorizationManager(
113-
new DelegatingAuthoritiesAuthorizationManager(authorizationManagerFactory));
114-
}
115-
116-
private static final class DelegatingAuthoritiesAuthorizationManager
117-
implements AuthorizationManager<Collection<String>> {
118-
119-
private static final String[] STRING_ARRAY = new String[0];
120-
121-
private final AuthorizationManagerFactory<Collection<String>> authorizationManagerFactory;
122-
123-
private final Map<Collection<String>, AuthorizationManager<Collection<String>>> cachedAuthorizationManagers = new ConcurrentHashMap<>();
124-
125-
private DelegatingAuthoritiesAuthorizationManager(
126-
AuthorizationManagerFactory<Collection<String>> authorizationManagerFactory) {
127-
this.authorizationManagerFactory = authorizationManagerFactory;
128-
}
129-
130-
@Override
131-
public @Nullable AuthorizationResult authorize(Supplier<Authentication> authentication,
132-
Collection<String> authorities) {
133-
AuthorizationManager<Collection<String>> delegate = getAuthorizationManager(authorities);
134-
return delegate.authorize(authentication, authorities);
135-
}
136-
137-
private AuthorizationManager<Collection<String>> getAuthorizationManager(Collection<String> authorities) {
138-
return this.cachedAuthorizationManagers.computeIfAbsent(authorities,
139-
(k) -> this.authorizationManagerFactory.hasAnyAuthority(authorities.toArray(STRING_ARRAY)));
140-
}
141-
142-
}
143-
144104
}

0 commit comments

Comments
 (0)