diff --git a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/Security.java b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/Security.java index 8199d75a604d0..e75dde20e09cc 100644 --- a/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/Security.java +++ b/x-pack/plugin/security/src/main/java/org/elasticsearch/xpack/security/Security.java @@ -1146,6 +1146,7 @@ Collection createComponents( if (authorizationDenialMessages.get() == null) { authorizationDenialMessages.set(new AuthorizationDenialMessages.Default()); } + final var authorizedProjectsResolver = getCustomAuthorizedProjectsResolverOrDefault(extensionComponents); final AuthorizationService authzService = new AuthorizationService( settings, allRolesStore, @@ -1164,7 +1165,7 @@ Collection createComponents( authorizationDenialMessages.get(), linkedProjectConfigService, projectResolver, - getCustomAuthorizedProjectsResolverOrDefault(extensionComponents), + authorizedProjectsResolver, new CrossProjectModeDecider(settings) ); @@ -1172,6 +1173,7 @@ Collection createComponents( components.add(reservedRolesStore); // used by roles actions components.add(allRolesStore); // for SecurityInfoTransportAction and clear roles cache components.add(authzService); + components.add(new PluginComponentBinding<>(AuthorizedProjectsResolver.class, authorizedProjectsResolver)); final SecondaryAuthenticator secondaryAuthenticator = new SecondaryAuthenticator( securityContext.get(),