This is an automated email from the ASF dual-hosted git repository. ilgrosso pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/syncope.git
commit 7090c82ee4cea8e65b0c4f266bf0b6c4070b6532 Author: Francesco Chicchiriccò <[email protected]> AuthorDate: Tue Aug 4 08:25:02 2026 +0200 Allow for more fine-grained control over self changes --- .../core/workflow/java/DefaultUserWorkflowAdapter.java | 11 ++++++++--- .../org/apache/syncope/core/logic/oidc/OIDCUserManager.java | 2 +- .../syncope/core/logic/saml2/SAML2SP4UIUserManager.java | 4 ++-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java index 45878dcdea..317511ff44 100644 --- a/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java +++ b/core/workflow-java/src/main/java/org/apache/syncope/core/workflow/java/DefaultUserWorkflowAdapter.java @@ -81,7 +81,12 @@ public class DefaultUserWorkflowAdapter extends AbstractUserWorkflowAdapter { this.notificationManager = notificationManager; } - protected void throwApprovalRequired(final String key, final boolean condition, final String executor) { + protected void throwApprovalRequired( + final String key, + final boolean condition, + final String executor, + final String context) { + if (securityProperties.getAdminUser().equals(executor)) { return; } @@ -105,7 +110,7 @@ public class DefaultUserWorkflowAdapter extends AbstractUserWorkflowAdapter { final String creator, final String context) { - throwApprovalRequired(null, userCR.requiresApproval(), creator); + throwApprovalRequired(null, userCR.requiresApproval(), creator, context); User user = entityFactory.newEntity(User.class); dataBinder.create(user, userCR); @@ -167,7 +172,7 @@ public class DefaultUserWorkflowAdapter extends AbstractUserWorkflowAdapter { protected UserWorkflowResult<Pair<UserUR, Boolean>> doUpdate( final User user, final UserUR userUR, final String updater, final String context) { - throwApprovalRequired(userUR.getKey(), userUR.requiresApproval(), updater); + throwApprovalRequired(userUR.getKey(), userUR.requiresApproval(), updater, context); UserWorkflowResult.PropagationInfo propInfo = dataBinder.update(user, userUR); diff --git a/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/OIDCUserManager.java b/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/OIDCUserManager.java index 23b7a9244e..6be56e230c 100644 --- a/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/OIDCUserManager.java +++ b/ext/oidcc4ui/logic/src/main/java/org/apache/syncope/core/logic/oidc/OIDCUserManager.java @@ -62,7 +62,7 @@ public class OIDCUserManager { protected static final Logger LOG = LoggerFactory.getLogger(OIDCUserManager.class); - protected static final String OIDC_CLIENT_CONTEXT = "OIDC Client"; + public static final String OIDC_CLIENT_CONTEXT = "OIDC Client"; protected final InboundMatcher inboundMatcher; diff --git a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2SP4UIUserManager.java b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2SP4UIUserManager.java index 810a3d7fa3..d6d2567ce2 100644 --- a/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2SP4UIUserManager.java +++ b/ext/saml2sp4ui/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2SP4UIUserManager.java @@ -61,9 +61,9 @@ import org.springframework.transaction.annotation.Transactional; public class SAML2SP4UIUserManager { - private static final Logger LOG = LoggerFactory.getLogger(SAML2SP4UIUserManager.class); + protected static final Logger LOG = LoggerFactory.getLogger(SAML2SP4UIUserManager.class); - private static final String SAML2SP_CONTEXT = "SAML 2.0 SP"; + public static final String SAML2SP_CONTEXT = "SAML 2.0 SP"; protected final SAML2SP4UIIdPDAO idpDAO;
