Polish CoreSecurityRuntimeHints

This commit is contained in:
Marcus Da Coregio 2022-08-23 15:05:58 -03:00
parent 0aac515737
commit bd5a05dcdd

View File

@ -52,14 +52,22 @@ class CoreSecurityRuntimeHints implements RuntimeHintsRegistrar {
@Override @Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) { public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
hints.reflection().registerTypes(getDefaultAuthenticationExceptionEventPublisherTypes(), registerExceptionEventsHints(hints);
(builder) -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS)); registerExpressionEvaluationHints(hints);
hints.resources().registerResourceBundle("org.springframework.security.messages");
}
private void registerExpressionEvaluationHints(RuntimeHints hints) {
hints.reflection().registerTypes( hints.reflection().registerTypes(
List.of(TypeReference.of(SecurityExpressionOperations.class), List.of(TypeReference.of(SecurityExpressionOperations.class),
TypeReference.of(SecurityExpressionRoot.class)), TypeReference.of(SecurityExpressionRoot.class)),
(builder) -> builder.withMembers(MemberCategory.DECLARED_FIELDS, (builder) -> builder.withMembers(MemberCategory.DECLARED_FIELDS,
MemberCategory.INVOKE_DECLARED_METHODS)); MemberCategory.INVOKE_DECLARED_METHODS));
hints.resources().registerResourceBundle("org.springframework.security.messages"); }
private void registerExceptionEventsHints(RuntimeHints hints) {
hints.reflection().registerTypes(getDefaultAuthenticationExceptionEventPublisherTypes(),
(builder) -> builder.withMembers(MemberCategory.INVOKE_DECLARED_CONSTRUCTORS));
} }
private List<TypeReference> getDefaultAuthenticationExceptionEventPublisherTypes() { private List<TypeReference> getDefaultAuthenticationExceptionEventPublisherTypes() {