This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch 3_0_X in repository https://gitbox.apache.org/repos/asf/syncope.git
commit f5b13ffdc75ae512cf653774429b0e4cf0c020e3 Author: Francesco Chicchiriccò <[email protected]> AuthorDate: Sat Mar 9 08:52:34 2024 +0100 Fixing deprecations --- .../apache/syncope/client/console/SecurityConfig.java | 17 +++++++++++------ .../apache/syncope/client/enduser/SecurityConfig.java | 17 +++++++++++------ .../syncope/core/persistence/api/entity/AnyUtils.java | 2 +- .../core/persistence/jpa/entity/JPAAnyUtils.java | 4 ++-- .../core/persistence/jpa/entity/JPAAnyUtilsFactory.java | 8 +++++--- .../propagation/AbstractPropagationTaskExecutor.java | 7 +++---- 6 files changed, 33 insertions(+), 22 deletions(-) diff --git a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SecurityConfig.java b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SecurityConfig.java index 3fc281849a..f54a0494e6 100644 --- a/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SecurityConfig.java +++ b/client/idrepo/console/src/main/java/org/apache/syncope/client/console/SecurityConfig.java @@ -23,12 +23,15 @@ import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointR import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.provisioning.InMemoryUserDetailsManager; import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.util.matcher.NegatedRequestMatcher; @EnableWebSecurity @Configuration(proxyBeanMethods = false) @@ -37,12 +40,14 @@ public class SecurityConfig { @ConditionalOnMissingBean @Bean public SecurityFilterChain actuatorFilterChain(final HttpSecurity http) throws Exception { - http.csrf().disable(). - authorizeRequests(). - requestMatchers(EndpointRequest.toAnyEndpoint()). - authenticated(). - and(). - httpBasic(); + EndpointRequest.EndpointRequestMatcher actuatorEndpoints = EndpointRequest.toAnyEndpoint(); + http.authorizeHttpRequests(customizer -> customizer. + requestMatchers(new NegatedRequestMatcher(actuatorEndpoints)).permitAll(). + requestMatchers(actuatorEndpoints).authenticated()); + + http.httpBasic(Customizer.withDefaults()); + http.csrf(AbstractHttpConfigurer::disable); + return http.build(); } diff --git a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SecurityConfig.java b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SecurityConfig.java index ca65e79eb4..441101af68 100644 --- a/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SecurityConfig.java +++ b/client/idrepo/enduser/src/main/java/org/apache/syncope/client/enduser/SecurityConfig.java @@ -23,12 +23,15 @@ import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointR import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.Customizer; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer; import org.springframework.security.core.userdetails.User; import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.provisioning.InMemoryUserDetailsManager; import org.springframework.security.web.SecurityFilterChain; +import org.springframework.security.web.util.matcher.NegatedRequestMatcher; @EnableWebSecurity @Configuration(proxyBeanMethods = false) @@ -37,12 +40,14 @@ public class SecurityConfig { @ConditionalOnMissingBean @Bean public SecurityFilterChain actuatorFilterChain(final HttpSecurity http) throws Exception { - http.csrf().disable(). - authorizeRequests(). - requestMatchers(EndpointRequest.toAnyEndpoint()). - authenticated(). - and(). - httpBasic(); + EndpointRequest.EndpointRequestMatcher actuatorEndpoints = EndpointRequest.toAnyEndpoint(); + http.authorizeHttpRequests(customizer -> customizer. + requestMatchers(new NegatedRequestMatcher(actuatorEndpoints)).permitAll(). + requestMatchers(actuatorEndpoints).authenticated()); + + http.httpBasic(Customizer.withDefaults()); + http.csrf(AbstractHttpConfigurer::disable); + return http.build(); } diff --git a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtils.java b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtils.java index 92d65ba86d..570c893976 100644 --- a/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtils.java +++ b/core/persistence-api/src/main/java/org/apache/syncope/core/persistence/api/entity/AnyUtils.java @@ -60,6 +60,6 @@ public interface AnyUtils { Set<ExternalResource> getAllResources(Any<?> any); void addAttr(PlainAttrValidationManager validator, String key, PlainSchema schema, String value); - + void removeAttr(String key, PlainSchema schema); } diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java index fa7aca61e9..01a9a547a4 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtils.java @@ -129,9 +129,9 @@ public class JPAAnyUtils implements AnyUtils { protected final AnyObjectDAO anyObjectDAO; protected final PlainAttrDAO plainAttrDAO; - + protected final PlainAttrValueDAO plainAttrValueDAO; - + protected final EntityFactory entityFactory; protected final AnyTypeKind anyTypeKind; diff --git a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtilsFactory.java b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtilsFactory.java index 5e50979ba6..cd8318c58f 100644 --- a/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtilsFactory.java +++ b/core/persistence-jpa/src/main/java/org/apache/syncope/core/persistence/jpa/entity/JPAAnyUtilsFactory.java @@ -46,7 +46,7 @@ public class JPAAnyUtilsFactory implements AnyUtilsFactory { protected final PlainAttrDAO plainAttrDAO; protected final PlainAttrValueDAO plainAttrValueDAO; - + protected final EntityFactory entityFactory; protected final Map<AnyTypeKind, AnyUtils> instances = new HashMap<>(3); @@ -75,7 +75,8 @@ public class JPAAnyUtilsFactory implements AnyUtilsFactory { synchronized (instances) { instance = instances.get(anyTypeKind); if (instance == null) { - instance = new JPAAnyUtils(userDAO, + instance = new JPAAnyUtils( + userDAO, groupDAO, anyObjectDAO, plainAttrDAO, @@ -113,7 +114,8 @@ public class JPAAnyUtilsFactory implements AnyUtilsFactory { public AnyUtils getLinkedAccountInstance() { synchronized (this) { if (linkedAccountInstance == null) { - linkedAccountInstance = new JPAAnyUtils(userDAO, + linkedAccountInstance = new JPAAnyUtils( + userDAO, groupDAO, anyObjectDAO, plainAttrDAO, diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java index 5ff7933f82..3ee6c629ef 100644 --- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java +++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/propagation/AbstractPropagationTaskExecutor.java @@ -385,10 +385,9 @@ public abstract class AbstractPropagationTaskExecutor implements PropagationTask connector.delete(objectClass, uid, null, propagationAttempted); result = uid; - taskInfo.getResource() - .getProvisionByAnyType(taskInfo.getAnyType()) - .filter(provision -> provision.getUidOnCreate() != null) - .ifPresent(provision -> { + taskInfo.getResource().getProvisionByAnyType(taskInfo.getAnyType()). + filter(provision -> provision.getUidOnCreate() != null). + ifPresent(provision -> { LOG.debug("Removing uidOnCreate [{}] attribute from [{}] on delete", provision.getUidOnCreate(), taskInfo.getEntityKey()); AnyUtils anyUtils = anyUtilsFactory.getInstance(taskInfo.getAnyTypeKind());
