Synthesize all annotation attributes

Issue gh-14601
This commit is contained in:
Josh Cummings
2024-04-04 13:13:17 -06:00
parent 560665d575
commit 3f7355abc6
3 changed files with 7 additions and 4 deletions

View File

@@ -19,7 +19,6 @@ package org.springframework.security.authorization.method;
import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Method;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -76,7 +75,9 @@ final class AuthorizationAnnotationUtils {
}
AnnotatedElement annotatedElement = (AnnotatedElement) mergedAnnotation.getSource();
String value = helper.replacePlaceholders(expression, stringProperties::get);
return MergedAnnotation.of(annotatedElement, type, Collections.singletonMap("value", value)).synthesize();
Map<String, Object> properties = new HashMap<>(mergedAnnotation.asMap());
properties.put("value", value);
return MergedAnnotation.of(annotatedElement, type, properties).synthesize();
};
return (annotatedElement) -> findDistinctAnnotation(annotatedElement, type, map);
}