Skip to content

Commit d194724

Browse files
committed
Skip Proxying If Already Proxied
Issue gh-15709
1 parent 6f5e103 commit d194724

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

core/src/main/java/org/springframework/security/authorization/method/AuthorizationAdvisorProxyFactory.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,9 @@ public Object proxy(Object target) {
169169
if (target == null) {
170170
return null;
171171
}
172+
if (target instanceof AuthorizationProxy proxied) {
173+
return proxied;
174+
}
172175
Object proxied = this.visitor.visit(this, target);
173176
if (proxied != null) {
174177
return proxied;
@@ -365,6 +368,9 @@ private static final class ClassVisitor implements TargetVisitor {
365368
@Override
366369
public Object visit(AuthorizationAdvisorProxyFactory proxyFactory, Object object) {
367370
if (object instanceof Class<?> targetClass) {
371+
if (AuthorizationProxy.class.isAssignableFrom(targetClass)) {
372+
return targetClass;
373+
}
368374
ProxyFactory factory = new ProxyFactory();
369375
factory.setTargetClass(targetClass);
370376
factory.setInterfaces(ClassUtils.getAllInterfacesForClass(targetClass));

0 commit comments

Comments
 (0)