Repository: nifi-registry Updated Branches: refs/heads/master 247985ada -> 81a1a360c
NIFIREG-59 Migrate Authorizer Exceptions Replaces Authorizer exception types with more general security provider exception types. This closes #44. Signed-off-by: Bryan Bende <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/nifi-registry/repo Commit: http://git-wip-us.apache.org/repos/asf/nifi-registry/commit/81a1a360 Tree: http://git-wip-us.apache.org/repos/asf/nifi-registry/tree/81a1a360 Diff: http://git-wip-us.apache.org/repos/asf/nifi-registry/diff/81a1a360 Branch: refs/heads/master Commit: 81a1a360c038d6e019ff7f84fd136422aea9d1d5 Parents: 247985a Author: Kevin Doran <[email protected]> Authored: Wed Nov 29 18:57:31 2017 -0500 Committer: Bryan Bende <[email protected]> Committed: Fri Dec 1 15:58:07 2017 -0500 ---------------------------------------------------------------------- .../AbstractPolicyBasedAuthorizer.java | 37 +++++---------- .../authorization/AuthorizerFactory.java | 40 ++++++++-------- .../CompositeConfigurableUserGroupProvider.java | 26 ++++------ .../CompositeUserGroupProvider.java | 21 +++----- .../StandardManagedAuthorizer.java | 32 ++++--------- .../file/FileAccessPolicyProvider.java | 25 +++++----- .../authorization/file/FileAuthorizer.java | 14 +++--- .../file/FileUserGroupProvider.java | 34 ++++++------- .../ldap/tenants/LdapUserGroupProvider.java | 50 ++++++++++---------- .../registry/service/AuthorizationService.java | 16 +++---- .../authorization/AccessPolicyProvider.java | 14 +++--- .../security/authorization/Authorizer.java | 14 +++--- .../authorization/UserGroupProvider.java | 14 +++--- .../exception/AuthorizerCreationException.java | 40 ---------------- .../AuthorizerDestructionException.java | 40 ---------------- 15 files changed, 146 insertions(+), 271 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java index 734a983..3e721de 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AbstractPolicyBasedAuthorizer.java @@ -16,25 +16,10 @@ */ package org.apache.nifi.registry.security.authorization; -import org.apache.nifi.registry.security.authorization.AccessPolicy; -import org.apache.nifi.registry.security.authorization.AccessPolicyProvider; -import org.apache.nifi.registry.security.authorization.AccessPolicyProviderInitializationContext; -import org.apache.nifi.registry.security.authorization.AuthorizationRequest; -import org.apache.nifi.registry.security.authorization.AuthorizationResult; -import org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext; -import org.apache.nifi.registry.security.authorization.ConfigurableAccessPolicyProvider; -import org.apache.nifi.registry.security.authorization.ConfigurableUserGroupProvider; -import org.apache.nifi.registry.security.authorization.Group; -import org.apache.nifi.registry.security.authorization.ManagedAuthorizer; -import org.apache.nifi.registry.security.authorization.RequestAction; -import org.apache.nifi.registry.security.authorization.User; -import org.apache.nifi.registry.security.authorization.UserAndGroups; -import org.apache.nifi.registry.security.authorization.UserGroupProvider; -import org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; import org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -78,7 +63,7 @@ public abstract class AbstractPolicyBasedAuthorizer implements ManagedAuthorizer static final String ACTIONS_ATTR = "actions"; @Override - public final void onConfigured(final AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public final void onConfigured(final AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { doOnConfigured(configurationContext); } @@ -86,9 +71,9 @@ public abstract class AbstractPolicyBasedAuthorizer implements ManagedAuthorizer * Allows sub-classes to take action when onConfigured is called. * * @param configurationContext the configuration context - * @throws AuthorizerCreationException if an error occurs during onConfigured process + * @throws SecurityProviderCreationException if an error occurs during onConfigured process */ - protected abstract void doOnConfigured(final AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException; + protected abstract void doOnConfigured(final AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException; @Override public final AuthorizationResult authorize(AuthorizationRequest request) throws AuthorizationAccessException { @@ -667,29 +652,29 @@ public abstract class AbstractPolicyBasedAuthorizer implements ManagedAuthorizer } @Override - public void initialize(UserGroupProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(UserGroupProviderInitializationContext initializationContext) throws SecurityProviderCreationException { } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { } }; } @Override - public void initialize(AccessPolicyProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(AccessPolicyProviderInitializationContext initializationContext) throws SecurityProviderCreationException { } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { } }; } http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java index 1ca6368..f94889f 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/AuthorizerFactory.java @@ -22,11 +22,11 @@ import org.apache.nifi.registry.properties.NiFiRegistryProperties; import org.apache.nifi.registry.provider.StandardProviderFactory; import org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; import org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException; import org.apache.nifi.registry.security.authorization.generated.Authorizers; import org.apache.nifi.registry.security.authorization.generated.Prop; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import org.apache.nifi.registry.security.util.XmlUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -399,15 +399,15 @@ public class AuthorizerFactory implements UserGroupProviderLookup, AccessPolicyP } @Override - public void initialize(AuthorizerInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(AuthorizerInitializationContext initializationContext) throws SecurityProviderCreationException { } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderCreationException { } }; } @@ -636,17 +636,17 @@ public class AuthorizerFactory implements UserGroupProviderLookup, AccessPolicyP } @Override - public void initialize(UserGroupProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(UserGroupProviderInitializationContext initializationContext) throws SecurityProviderCreationException { baseConfigurableUserGroupProvider.initialize(initializationContext); } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { baseConfigurableUserGroupProvider.onConfigured(configurationContext); } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { baseConfigurableUserGroupProvider.preDestruction(); } }; @@ -656,17 +656,17 @@ public class AuthorizerFactory implements UserGroupProviderLookup, AccessPolicyP } @Override - public void initialize(AccessPolicyProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(AccessPolicyProviderInitializationContext initializationContext) throws SecurityProviderCreationException { baseConfigurableAccessPolicyProvider.initialize(initializationContext); } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { baseConfigurableAccessPolicyProvider.onConfigured(configurationContext); } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { baseConfigurableAccessPolicyProvider.preDestruction(); } }; @@ -686,12 +686,12 @@ public class AuthorizerFactory implements UserGroupProviderLookup, AccessPolicyP } @Override - public void initialize(AuthorizerInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(AuthorizerInitializationContext initializationContext) throws SecurityProviderCreationException { baseManagedAuthorizer.initialize(initializationContext); } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { baseManagedAuthorizer.onConfigured(configurationContext); final AccessPolicyProvider accessPolicyProvider = baseManagedAuthorizer.getAccessPolicyProvider(); @@ -700,27 +700,27 @@ public class AuthorizerFactory implements UserGroupProviderLookup, AccessPolicyP // ensure that only one policy per resource-action exists for (AccessPolicy accessPolicy : accessPolicyProvider.getAccessPolicies()) { if (policyExists(accessPolicyProvider, accessPolicy)) { - throw new AuthorizerCreationException(String.format("Found multiple policies for '%s' with '%s'.", accessPolicy.getResource(), accessPolicy.getAction())); + throw new SecurityProviderCreationException(String.format("Found multiple policies for '%s' with '%s'.", accessPolicy.getResource(), accessPolicy.getAction())); } } // ensure that only one group exists per identity for (User user : userGroupProvider.getUsers()) { if (tenantExists(userGroupProvider, user.getIdentifier(), user.getIdentity())) { - throw new AuthorizerCreationException(String.format("Found multiple users/user groups with identity '%s'.", user.getIdentity())); + throw new SecurityProviderCreationException(String.format("Found multiple users/user groups with identity '%s'.", user.getIdentity())); } } // ensure that only one group exists per identity for (Group group : userGroupProvider.getGroups()) { if (tenantExists(userGroupProvider, group.getIdentifier(), group.getName())) { - throw new AuthorizerCreationException(String.format("Found multiple users/user groups with name '%s'.", group.getName())); + throw new SecurityProviderCreationException(String.format("Found multiple users/user groups with name '%s'.", group.getName())); } } } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { baseManagedAuthorizer.preDestruction(); } }; @@ -737,17 +737,17 @@ public class AuthorizerFactory implements UserGroupProviderLookup, AccessPolicyP } @Override - public void initialize(AuthorizerInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(AuthorizerInitializationContext initializationContext) throws SecurityProviderCreationException { baseAuthorizer.initialize(initializationContext); } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { baseAuthorizer.onConfigured(configurationContext); } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { baseAuthorizer.preDestruction(); } }; http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java index dc687ef..dfa671e 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeConfigurableUserGroupProvider.java @@ -16,19 +16,11 @@ */ package org.apache.nifi.registry.security.authorization; -import org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext; -import org.apache.nifi.registry.security.authorization.ConfigurableUserGroupProvider; -import org.apache.nifi.registry.security.authorization.Group; -import org.apache.nifi.registry.security.authorization.User; -import org.apache.nifi.registry.security.authorization.UserAndGroups; -import org.apache.nifi.registry.security.authorization.UserGroupProvider; -import org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext; -import org.apache.nifi.registry.security.authorization.UserGroupProviderLookup; +import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; import org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import org.apache.nifi.registry.util.PropertyValue; -import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; import java.util.HashSet; import java.util.Set; @@ -45,7 +37,7 @@ public class CompositeConfigurableUserGroupProvider extends CompositeUserGroupPr } @Override - public void initialize(UserGroupProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(UserGroupProviderInitializationContext initializationContext) throws SecurityProviderCreationException { userGroupProviderLookup = initializationContext.getUserGroupProviderLookup(); // initialize the CompositeUserGroupProvider @@ -53,20 +45,20 @@ public class CompositeConfigurableUserGroupProvider extends CompositeUserGroupPr } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { final PropertyValue configurableUserGroupProviderKey = configurationContext.getProperty(PROP_CONFIGURABLE_USER_GROUP_PROVIDER); if (!configurableUserGroupProviderKey.isSet()) { - throw new AuthorizerCreationException("The Configurable User Group Provider must be set."); + throw new SecurityProviderCreationException("The Configurable User Group Provider must be set."); } final UserGroupProvider userGroupProvider = userGroupProviderLookup.getUserGroupProvider(configurableUserGroupProviderKey.getValue()); if (userGroupProvider == null) { - throw new AuthorizerCreationException(String.format("Unable to locate the Configurable User Group Provider: %s", configurableUserGroupProviderKey)); + throw new SecurityProviderCreationException(String.format("Unable to locate the Configurable User Group Provider: %s", configurableUserGroupProviderKey)); } if (!(userGroupProvider instanceof ConfigurableUserGroupProvider)) { - throw new AuthorizerCreationException(String.format("The Configurable User Group Provider is not configurable: %s", configurableUserGroupProviderKey)); + throw new SecurityProviderCreationException(String.format("The Configurable User Group Provider is not configurable: %s", configurableUserGroupProviderKey)); } configurableUserGroupProvider = (ConfigurableUserGroupProvider) userGroupProvider; @@ -199,7 +191,7 @@ public class CompositeConfigurableUserGroupProvider extends CompositeUserGroupPr } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { super.preDestruction(); } } http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java index 96e9d41..40ced18 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/CompositeUserGroupProvider.java @@ -17,16 +17,9 @@ package org.apache.nifi.registry.security.authorization; import org.apache.commons.lang3.StringUtils; -import org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext; -import org.apache.nifi.registry.security.authorization.Group; -import org.apache.nifi.registry.security.authorization.User; -import org.apache.nifi.registry.security.authorization.UserAndGroups; -import org.apache.nifi.registry.security.authorization.UserGroupProvider; -import org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext; -import org.apache.nifi.registry.security.authorization.UserGroupProviderLookup; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import java.util.ArrayList; import java.util.HashSet; @@ -55,12 +48,12 @@ public class CompositeUserGroupProvider implements UserGroupProvider { } @Override - public void initialize(UserGroupProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(UserGroupProviderInitializationContext initializationContext) throws SecurityProviderCreationException { userGroupProviderLookup = initializationContext.getUserGroupProviderLookup(); } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { for (Map.Entry<String,String> entry : configurationContext.getProperties().entrySet()) { Matcher matcher = USER_GROUP_PROVIDER_PATTERN.matcher(entry.getKey()); if (matcher.matches() && !StringUtils.isBlank(entry.getValue())) { @@ -68,7 +61,7 @@ public class CompositeUserGroupProvider implements UserGroupProvider { final UserGroupProvider userGroupProvider = userGroupProviderLookup.getUserGroupProvider(userGroupProviderKey); if (userGroupProvider == null) { - throw new AuthorizerCreationException(String.format("Unable to locate the configured User Group Provider: %s", userGroupProviderKey)); + throw new SecurityProviderCreationException(String.format("Unable to locate the configured User Group Provider: %s", userGroupProviderKey)); } userGroupProviders.add(userGroupProvider); @@ -76,7 +69,7 @@ public class CompositeUserGroupProvider implements UserGroupProvider { } if (!allowEmptyProviderList && userGroupProviders.isEmpty()) { - throw new AuthorizerCreationException("At least one User Group Provider must be configured."); + throw new SecurityProviderCreationException("At least one User Group Provider must be configured."); } } @@ -179,6 +172,6 @@ public class CompositeUserGroupProvider implements UserGroupProvider { } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { } } http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java index b6f9842..58bcf55 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/StandardManagedAuthorizer.java @@ -17,25 +17,11 @@ package org.apache.nifi.registry.security.authorization; import org.apache.commons.lang3.StringUtils; -import org.apache.nifi.registry.security.authorization.AccessPolicy; -import org.apache.nifi.registry.security.authorization.AccessPolicyProvider; -import org.apache.nifi.registry.security.authorization.AccessPolicyProviderLookup; -import org.apache.nifi.registry.security.authorization.AuthorizationRequest; -import org.apache.nifi.registry.security.authorization.AuthorizationResult; -import org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext; -import org.apache.nifi.registry.security.authorization.AuthorizerInitializationContext; -import org.apache.nifi.registry.security.authorization.ConfigurableAccessPolicyProvider; -import org.apache.nifi.registry.security.authorization.ConfigurableUserGroupProvider; -import org.apache.nifi.registry.security.authorization.Group; -import org.apache.nifi.registry.security.authorization.ManagedAuthorizer; -import org.apache.nifi.registry.security.authorization.User; -import org.apache.nifi.registry.security.authorization.UserAndGroups; -import org.apache.nifi.registry.security.authorization.UserGroupProvider; +import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; import org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import org.apache.nifi.registry.util.PropertyValue; -import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -75,29 +61,29 @@ public class StandardManagedAuthorizer implements ManagedAuthorizer { } @Override - public void initialize(AuthorizerInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(AuthorizerInitializationContext initializationContext) throws SecurityProviderCreationException { accessPolicyProviderLookup = initializationContext.getAccessPolicyProviderLookup(); } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { final PropertyValue accessPolicyProviderKey = configurationContext.getProperty("Access Policy Provider"); if (!accessPolicyProviderKey.isSet()) { - throw new AuthorizerCreationException("The Access Policy Provider must be set."); + throw new SecurityProviderCreationException("The Access Policy Provider must be set."); } accessPolicyProvider = accessPolicyProviderLookup.getAccessPolicyProvider(accessPolicyProviderKey.getValue()); // ensure the desired access policy provider was found if (accessPolicyProvider == null) { - throw new AuthorizerCreationException(String.format("Unable to locate configured Access Policy Provider: %s", accessPolicyProviderKey)); + throw new SecurityProviderCreationException(String.format("Unable to locate configured Access Policy Provider: %s", accessPolicyProviderKey)); } userGroupProvider = accessPolicyProvider.getUserGroupProvider(); // ensure the desired access policy provider has a user group provider if (userGroupProvider == null) { - throw new AuthorizerCreationException(String.format("Configured Access Policy Provider %s does not contain a User Group Provider", accessPolicyProviderKey)); + throw new SecurityProviderCreationException(String.format("Configured Access Policy Provider %s does not contain a User Group Provider", accessPolicyProviderKey)); } } @@ -254,7 +240,7 @@ public class StandardManagedAuthorizer implements ManagedAuthorizer { } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { } http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java index 74887ad..2a71c5e 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAccessPolicyProvider.java @@ -30,12 +30,12 @@ import org.apache.nifi.registry.security.authorization.UserGroupProvider; import org.apache.nifi.registry.security.authorization.UserGroupProviderLookup; import org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; import org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException; import org.apache.nifi.registry.security.authorization.file.generated.Authorizations; import org.apache.nifi.registry.security.authorization.file.generated.Policies; import org.apache.nifi.registry.security.authorization.file.generated.Policy; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import org.apache.nifi.registry.util.PropertyValue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -143,34 +143,33 @@ public class FileAccessPolicyProvider implements ConfigurableAccessPolicyProvide private final AtomicReference<AuthorizationsHolder> authorizationsHolder = new AtomicReference<>(); @Override - public void initialize(AccessPolicyProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(AccessPolicyProviderInitializationContext initializationContext) throws SecurityProviderCreationException { userGroupProviderLookup = initializationContext.getUserGroupProviderLookup(); try { final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); authorizationsSchema = schemaFactory.newSchema(FileAuthorizer.class.getResource(AUTHORIZATIONS_XSD)); -// usersSchema = schemaFactory.newSchema(FileAuthorizer.class.getResource(USERS_XSD)); } catch (Exception e) { - throw new AuthorizerCreationException(e); + throw new SecurityProviderCreationException(e); } } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { try { final PropertyValue userGroupProviderIdentifier = configurationContext.getProperty(PROP_USER_GROUP_PROVIDER); if (!userGroupProviderIdentifier.isSet()) { - throw new AuthorizerCreationException("The user group provider must be specified."); + throw new SecurityProviderCreationException("The user group provider must be specified."); } userGroupProvider = userGroupProviderLookup.getUserGroupProvider(userGroupProviderIdentifier.getValue()); if (userGroupProvider == null) { - throw new AuthorizerCreationException("Unable to locate user group provider with identifier " + userGroupProviderIdentifier.getValue()); + throw new SecurityProviderCreationException("Unable to locate user group provider with identifier " + userGroupProviderIdentifier.getValue()); } final PropertyValue authorizationsPath = configurationContext.getProperty(PROP_AUTHORIZATIONS_FILE); if (StringUtils.isBlank(authorizationsPath.getValue())) { - throw new AuthorizerCreationException("The authorizations file must be specified."); + throw new SecurityProviderCreationException("The authorizations file must be specified."); } // get the authorizations file and ensure it exists @@ -200,8 +199,8 @@ public class FileAccessPolicyProvider implements ConfigurableAccessPolicyProvide load(); logger.info(String.format("Authorizations file loaded at %s", new Date().toString())); - } catch (AuthorizerCreationException | JAXBException | IllegalStateException | SAXException e) { - throw new AuthorizerCreationException(e); + } catch (SecurityProviderCreationException | JAXBException | IllegalStateException | SAXException e) { + throw new SecurityProviderCreationException(e); } } @@ -509,7 +508,7 @@ public class FileAccessPolicyProvider implements ConfigurableAccessPolicyProvide private void populateInitialAdmin(final Authorizations authorizations) { final User initialAdmin = userGroupProvider.getUserByIdentity(initialAdminIdentity); if (initialAdmin == null) { - throw new AuthorizerCreationException("Unable to locate initial admin " + initialAdminIdentity + " to seed policies"); + throw new SecurityProviderCreationException("Unable to locate initial admin " + initialAdminIdentity + " to seed policies"); } for (ResourceActionPair resourceAction : INITIAL_ADMIN_ACCESS_POLICIES) { @@ -743,7 +742,7 @@ public class FileAccessPolicyProvider implements ConfigurableAccessPolicyProvide } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { } private static class ResourceActionPair { http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java index e7104e3..1fe7f45 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileAuthorizer.java @@ -16,23 +16,23 @@ */ package org.apache.nifi.registry.security.authorization.file; -import org.apache.nifi.registry.security.authorization.StandardAuthorizerConfigurationContext; -import org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext; +import org.apache.nifi.registry.properties.NiFiRegistryProperties; import org.apache.nifi.registry.security.authorization.AbstractPolicyBasedAuthorizer; import org.apache.nifi.registry.security.authorization.AccessPolicy; import org.apache.nifi.registry.security.authorization.AccessPolicyProviderInitializationContext; import org.apache.nifi.registry.security.authorization.AccessPolicyProviderLookup; -import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; import org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; import org.apache.nifi.registry.security.authorization.AuthorizerInitializationContext; import org.apache.nifi.registry.security.authorization.Group; import org.apache.nifi.registry.security.authorization.RequestAction; +import org.apache.nifi.registry.security.authorization.StandardAuthorizerConfigurationContext; import org.apache.nifi.registry.security.authorization.User; import org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext; import org.apache.nifi.registry.security.authorization.UserGroupProviderLookup; import org.apache.nifi.registry.security.authorization.UsersAndAccessPolicies; -import org.apache.nifi.registry.properties.NiFiRegistryProperties; +import org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext; +import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,7 +57,7 @@ public class FileAuthorizer extends AbstractPolicyBasedAuthorizer { private FileAccessPolicyProvider accessPolicyProvider = new FileAccessPolicyProvider(); @Override - public void initialize(final AuthorizerInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(final AuthorizerInitializationContext initializationContext) throws SecurityProviderCreationException { // initialize the user group provider userGroupProvider.initialize(new UserGroupProviderInitializationContext() { @Override @@ -97,7 +97,7 @@ public class FileAuthorizer extends AbstractPolicyBasedAuthorizer { } @Override - public void doOnConfigured(final AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void doOnConfigured(final AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { final Map<String, String> configurationProperties = configurationContext.getProperties(); // relay the relevant config http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java index 85d62cd..b15e599 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/authorization/file/FileUserGroupProvider.java @@ -17,25 +17,25 @@ package org.apache.nifi.registry.security.authorization.file; import org.apache.commons.lang3.StringUtils; -import org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext; -import org.apache.nifi.registry.security.authorization.file.tenants.generated.Groups; -import org.apache.nifi.registry.security.authorization.file.tenants.generated.Tenants; -import org.apache.nifi.registry.security.authorization.file.tenants.generated.Users; +import org.apache.nifi.registry.properties.NiFiRegistryProperties; import org.apache.nifi.registry.properties.util.IdentityMapping; import org.apache.nifi.registry.properties.util.IdentityMappingUtil; -import org.apache.nifi.registry.util.PropertyValue; -import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; import org.apache.nifi.registry.security.authorization.AuthorizerConfigurationContext; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; import org.apache.nifi.registry.security.authorization.ConfigurableUserGroupProvider; import org.apache.nifi.registry.security.authorization.Group; -import org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException; import org.apache.nifi.registry.security.authorization.User; import org.apache.nifi.registry.security.authorization.UserAndGroups; import org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext; -import org.apache.nifi.registry.properties.NiFiRegistryProperties; +import org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext; +import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; +import org.apache.nifi.registry.security.authorization.exception.UninheritableAuthorizationsException; +import org.apache.nifi.registry.security.authorization.file.tenants.generated.Groups; +import org.apache.nifi.registry.security.authorization.file.tenants.generated.Tenants; +import org.apache.nifi.registry.security.authorization.file.tenants.generated.Users; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import org.apache.nifi.registry.util.FileUtils; +import org.apache.nifi.registry.util.PropertyValue; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; @@ -123,22 +123,22 @@ public class FileUserGroupProvider implements ConfigurableUserGroupProvider { private final AtomicReference<UserGroupHolder> userGroupHolder = new AtomicReference<>(); @Override - public void initialize(UserGroupProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(UserGroupProviderInitializationContext initializationContext) throws SecurityProviderCreationException { try { final SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); tenantsSchema = schemaFactory.newSchema(FileAuthorizer.class.getResource(TENANTS_XSD)); //usersSchema = schemaFactory.newSchema(FileAuthorizer.class.getResource(USERS_XSD)); } catch (Exception e) { - throw new AuthorizerCreationException(e); + throw new SecurityProviderCreationException(e); } } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { try { final PropertyValue tenantsPath = configurationContext.getProperty(PROP_TENANTS_FILE); if (StringUtils.isBlank(tenantsPath.getValue())) { - throw new AuthorizerCreationException("The users file must be specified."); + throw new SecurityProviderCreationException("The users file must be specified."); } // get the tenants file and ensure it exists @@ -170,8 +170,8 @@ public class FileUserGroupProvider implements ConfigurableUserGroupProvider { } logger.info(String.format("Users/Groups file loaded at %s", new Date().toString())); - } catch (IOException | AuthorizerCreationException | JAXBException | IllegalStateException | SAXException e) { - throw new AuthorizerCreationException(e); + } catch (IOException | SecurityProviderCreationException | JAXBException | IllegalStateException | SAXException e) { + throw new SecurityProviderCreationException(e); } } @@ -752,7 +752,7 @@ public class FileUserGroupProvider implements ConfigurableUserGroupProvider { } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { } private static class UsersAndGroups { http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java index 71bee9a..f04fdcc 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/ldap/tenants/LdapUserGroupProvider.java @@ -28,8 +28,8 @@ import org.apache.nifi.registry.security.authorization.UserGroupProvider; import org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext; import org.apache.nifi.registry.security.authorization.annotation.AuthorizerContext; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import org.apache.nifi.registry.security.ldap.LdapAuthenticationStrategy; import org.apache.nifi.registry.security.ldap.LdapsSocketFactory; import org.apache.nifi.registry.security.ldap.ReferralStrategy; @@ -140,7 +140,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { private Integer pageSize; @Override - public void initialize(final UserGroupProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(final UserGroupProviderInitializationContext initializationContext) throws SecurityProviderCreationException { ldapSync = Executors.newSingleThreadScheduledExecutor(new ThreadFactory() { final ThreadFactory factory = Executors.defaultThreadFactory(); @@ -154,7 +154,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { } @Override - public void onConfigured(final AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(final AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { final LdapContextSource context = new LdapContextSource(); final Map<String, Object> baseEnvironment = new HashMap<>(); @@ -169,7 +169,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { try { authenticationStrategy = LdapAuthenticationStrategy.valueOf(rawAuthenticationStrategy.getValue()); } catch (final IllegalArgumentException iae) { - throw new AuthorizerCreationException(String.format("Unrecognized authentication strategy '%s'. Possible values are [%s]", + throw new SecurityProviderCreationException(String.format("Unrecognized authentication strategy '%s'. Possible values are [%s]", rawAuthenticationStrategy.getValue(), StringUtils.join(LdapAuthenticationStrategy.values(), ", "))); } @@ -232,7 +232,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { try { referralStrategy = ReferralStrategy.valueOf(rawReferralStrategy); } catch (final IllegalArgumentException iae) { - throw new AuthorizerCreationException(String.format("Unrecognized referral strategy '%s'. Possible values are [%s]", + throw new SecurityProviderCreationException(String.format("Unrecognized referral strategy '%s'. Possible values are [%s]", rawReferralStrategy, StringUtils.join(ReferralStrategy.values(), ", "))); } @@ -243,7 +243,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { final String urls = configurationContext.getProperty(PROP_URL).getValue(); if (StringUtils.isBlank(urls)) { - throw new AuthorizerCreationException("LDAP identity provider 'Url' must be specified."); + throw new SecurityProviderCreationException("LDAP identity provider 'Url' must be specified."); } // connection @@ -256,12 +256,12 @@ public class LdapUserGroupProvider implements UserGroupProvider { // if loading the users, ensure the object class set if (rawUserSearchBase.isSet() && !rawUserObjectClass.isSet()) { - throw new AuthorizerCreationException("LDAP user group provider 'User Object Class' must be specified when 'User Search Base' is set."); + throw new SecurityProviderCreationException("LDAP user group provider 'User Object Class' must be specified when 'User Search Base' is set."); } // if loading the users, ensure the search scope is set if (rawUserSearchBase.isSet() && !rawUserSearchScope.isSet()) { - throw new AuthorizerCreationException("LDAP user group provider 'User Search Scope' must be specified when 'User Search Base' is set."); + throw new SecurityProviderCreationException("LDAP user group provider 'User Search Scope' must be specified when 'User Search Base' is set."); } // user search criteria @@ -274,7 +274,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { try { userSearchScope = SearchScope.valueOf(rawUserSearchScope.getValue()); } catch (final IllegalArgumentException iae) { - throw new AuthorizerCreationException(String.format("Unrecognized user search scope '%s'. Possible values are [%s]", + throw new SecurityProviderCreationException(String.format("Unrecognized user search scope '%s'. Possible values are [%s]", rawUserSearchScope.getValue(), StringUtils.join(SearchScope.values(), ", "))); } @@ -289,12 +289,12 @@ public class LdapUserGroupProvider implements UserGroupProvider { // if loading the groups, ensure the object class is set if (rawGroupSearchBase.isSet() && !rawGroupObjectClass.isSet()) { - throw new AuthorizerCreationException("LDAP user group provider 'Group Object Class' must be specified when 'Group Search Base' is set."); + throw new SecurityProviderCreationException("LDAP user group provider 'Group Object Class' must be specified when 'Group Search Base' is set."); } // if loading the groups, ensure the search scope is set if (rawGroupSearchBase.isSet() && !rawGroupSearchScope.isSet()) { - throw new AuthorizerCreationException("LDAP user group provider 'Group Search Scope' must be specified when 'Group Search Base' is set."); + throw new SecurityProviderCreationException("LDAP user group provider 'Group Search Scope' must be specified when 'Group Search Base' is set."); } // group search criteria @@ -307,7 +307,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { try { groupSearchScope = SearchScope.valueOf(rawGroupSearchScope.getValue()); } catch (final IllegalArgumentException iae) { - throw new AuthorizerCreationException(String.format("Unrecognized group search scope '%s'. Possible values are [%s]", + throw new SecurityProviderCreationException(String.format("Unrecognized group search scope '%s'. Possible values are [%s]", rawGroupSearchScope.getValue(), StringUtils.join(SearchScope.values(), ", "))); } @@ -317,12 +317,12 @@ public class LdapUserGroupProvider implements UserGroupProvider { // ensure we are either searching users or groups (at least one must be specified) if (!performUserSearch && !performGroupSearch) { - throw new AuthorizerCreationException("LDAP user group provider 'User Search Base' or 'Group Search Base' must be specified."); + throw new SecurityProviderCreationException("LDAP user group provider 'User Search Base' or 'Group Search Base' must be specified."); } // ensure group member attribute is set if searching groups but not users if (performGroupSearch && !performUserSearch && StringUtils.isBlank(groupMemberAttribute)) { - throw new AuthorizerCreationException("'Group Member Attribute' is required when searching groups but not users."); + throw new SecurityProviderCreationException("'Group Member Attribute' is required when searching groups but not users."); } // get the page size if configured @@ -343,7 +343,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { // handling initializing beans context.afterPropertiesSet(); } catch (final Exception e) { - throw new AuthorizerCreationException(e.getMessage(), e); + throw new SecurityProviderCreationException(e.getMessage(), e); } final PropertyValue rawSyncInterval = configurationContext.getProperty(PROP_SYNC_INTERVAL); @@ -352,10 +352,10 @@ public class LdapUserGroupProvider implements UserGroupProvider { try { syncInterval = FormatUtils.getTimeDuration(rawSyncInterval.getValue(), TimeUnit.MILLISECONDS); } catch (final IllegalArgumentException iae) { - throw new AuthorizerCreationException(String.format("The %s '%s' is not a valid time duration", PROP_SYNC_INTERVAL, rawSyncInterval.getValue())); + throw new SecurityProviderCreationException(String.format("The %s '%s' is not a valid time duration", PROP_SYNC_INTERVAL, rawSyncInterval.getValue())); } } else { - throw new AuthorizerCreationException("The 'Sync Interval' must be specified."); + throw new SecurityProviderCreationException("The 'Sync Interval' must be specified."); } try { @@ -365,13 +365,13 @@ public class LdapUserGroupProvider implements UserGroupProvider { // ensure the tenants were successfully synced if (tenants.get() == null) { - throw new AuthorizerCreationException("Unable to sync users and groups."); + throw new SecurityProviderCreationException("Unable to sync users and groups."); } // schedule the background thread to load the users/groups ldapSync.scheduleWithFixedDelay(() -> load(context), syncInterval, syncInterval, TimeUnit.SECONDS); } catch (final AuthorizationAccessException e) { - throw new AuthorizerCreationException(e); + throw new SecurityProviderCreationException(e); } } @@ -667,7 +667,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { } @Override - public final void preDestruction() throws AuthorizerDestructionException { + public final void preDestruction() throws SecurityProviderDestructionException { ldapSync.shutdown(); try { if (!ldapSync.awaitTermination(10000, TimeUnit.MILLISECONDS)) { @@ -690,7 +690,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { final Long timeout = FormatUtils.getTimeDuration(rawTimeout.getValue(), TimeUnit.MILLISECONDS); baseEnvironment.put(environmentKey, timeout.toString()); } catch (final IllegalArgumentException iae) { - throw new AuthorizerCreationException(String.format("The %s '%s' is not a valid time duration", configurationProperty, rawTimeout)); + throw new SecurityProviderCreationException(String.format("The %s '%s' is not a valid time duration", configurationProperty, rawTimeout)); } } } @@ -713,7 +713,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { } else { // ensure the protocol is specified if (StringUtils.isBlank(rawProtocol)) { - throw new AuthorizerCreationException("TLS - Protocol must be specified."); + throw new SecurityProviderCreationException("TLS - Protocol must be specified."); } if (StringUtils.isBlank(rawKeystore)) { @@ -729,7 +729,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { try { clientAuth = ClientAuth.valueOf(rawClientAuth); } catch (final IllegalArgumentException iae) { - throw new AuthorizerCreationException(String.format("Unrecognized client auth '%s'. Possible values are [%s]", + throw new SecurityProviderCreationException(String.format("Unrecognized client auth '%s'. Possible values are [%s]", rawClientAuth, StringUtils.join(ClientAuth.values(), ", "))); } } @@ -739,7 +739,7 @@ public class LdapUserGroupProvider implements UserGroupProvider { } } } catch (final KeyStoreException | NoSuchAlgorithmException | CertificateException | UnrecoverableKeyException | KeyManagementException | IOException e) { - throw new AuthorizerCreationException(e.getMessage(), e); + throw new SecurityProviderCreationException(e.getMessage(), e); } return sslContext; http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java ---------------------------------------------------------------------- diff --git a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java index ead73cd..79ba71c 100644 --- a/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java +++ b/nifi-registry-framework/src/main/java/org/apache/nifi/registry/service/AuthorizationService.java @@ -40,11 +40,11 @@ import org.apache.nifi.registry.security.authorization.UserGroupProvider; import org.apache.nifi.registry.security.authorization.UserGroupProviderInitializationContext; import org.apache.nifi.registry.security.authorization.exception.AccessDeniedException; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; import org.apache.nifi.registry.security.authorization.resource.ResourceFactory; import org.apache.nifi.registry.security.authorization.resource.ResourceType; import org.apache.nifi.registry.security.authorization.user.NiFiUserUtils; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -657,32 +657,32 @@ public class AuthorizationService { } @Override - public void initialize(UserGroupProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(UserGroupProviderInitializationContext initializationContext) throws SecurityProviderCreationException { } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { } }; } @Override - public void initialize(AccessPolicyProviderInitializationContext initializationContext) throws AuthorizerCreationException { + public void initialize(AccessPolicyProviderInitializationContext initializationContext) throws SecurityProviderCreationException { } @Override - public void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException { + public void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException { } @Override - public void preDestruction() throws AuthorizerDestructionException { + public void preDestruction() throws SecurityProviderDestructionException { } }; http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java ---------------------------------------------------------------------- diff --git a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java index b942ec2..214787d 100644 --- a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java +++ b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/AccessPolicyProvider.java @@ -17,8 +17,8 @@ package org.apache.nifi.registry.security.authorization; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import java.util.Set; @@ -71,20 +71,20 @@ public interface AccessPolicyProvider { * * @param initializationContext in which to initialize */ - void initialize(AccessPolicyProviderInitializationContext initializationContext) throws AuthorizerCreationException; + void initialize(AccessPolicyProviderInitializationContext initializationContext) throws SecurityProviderCreationException; /** * Called to configure the Authorizer. * * @param configurationContext at the time of configuration - * @throws AuthorizerCreationException for any issues configuring the provider + * @throws SecurityProviderCreationException for any issues configuring the provider */ - void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException; + void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException; /** * Called immediately before instance destruction for implementers to release resources. * - * @throws AuthorizerDestructionException If pre-destruction fails. + * @throws SecurityProviderDestructionException If pre-destruction fails. */ - void preDestruction() throws AuthorizerDestructionException; + void preDestruction() throws SecurityProviderDestructionException; } http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java ---------------------------------------------------------------------- diff --git a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java index 3018dd3..c8fc0f6 100644 --- a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java +++ b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/Authorizer.java @@ -17,8 +17,8 @@ package org.apache.nifi.registry.security.authorization; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; /** * Authorizes user requests. @@ -43,21 +43,21 @@ public interface Authorizer { * * @param initializationContext in which to initialize */ - void initialize(AuthorizerInitializationContext initializationContext) throws AuthorizerCreationException; + void initialize(AuthorizerInitializationContext initializationContext) throws SecurityProviderCreationException; /** * Called to configure the Authorizer. * * @param configurationContext at the time of configuration - * @throws AuthorizerCreationException for any issues configuring the provider + * @throws SecurityProviderCreationException for any issues configuring the provider */ - void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException; + void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException; /** * Called immediately before instance destruction for implementers to release resources. * - * @throws AuthorizerDestructionException If pre-destruction fails. + * @throws SecurityProviderDestructionException If pre-destruction fails. */ - void preDestruction() throws AuthorizerDestructionException; + void preDestruction() throws SecurityProviderDestructionException; } http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java ---------------------------------------------------------------------- diff --git a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java index 9811691..5505e7d 100644 --- a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java +++ b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/UserGroupProvider.java @@ -17,8 +17,8 @@ package org.apache.nifi.registry.security.authorization; import org.apache.nifi.registry.security.authorization.exception.AuthorizationAccessException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerCreationException; -import org.apache.nifi.registry.security.authorization.exception.AuthorizerDestructionException; +import org.apache.nifi.registry.security.exception.SecurityProviderCreationException; +import org.apache.nifi.registry.security.exception.SecurityProviderDestructionException; import java.util.Set; @@ -89,20 +89,20 @@ public interface UserGroupProvider { * * @param initializationContext in which to initialize */ - void initialize(UserGroupProviderInitializationContext initializationContext) throws AuthorizerCreationException; + void initialize(UserGroupProviderInitializationContext initializationContext) throws SecurityProviderCreationException; /** * Called to configure the Authorizer. * * @param configurationContext at the time of configuration - * @throws AuthorizerCreationException for any issues configuring the provider + * @throws SecurityProviderCreationException for any issues configuring the provider */ - void onConfigured(AuthorizerConfigurationContext configurationContext) throws AuthorizerCreationException; + void onConfigured(AuthorizerConfigurationContext configurationContext) throws SecurityProviderCreationException; /** * Called immediately before instance destruction for implementers to release resources. * - * @throws AuthorizerDestructionException If pre-destruction fails. + * @throws SecurityProviderDestructionException If pre-destruction fails. */ - void preDestruction() throws AuthorizerDestructionException; + void preDestruction() throws SecurityProviderDestructionException; } http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerCreationException.java ---------------------------------------------------------------------- diff --git a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerCreationException.java b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerCreationException.java deleted file mode 100644 index dbe90e7..0000000 --- a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerCreationException.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.nifi.registry.security.authorization.exception; - -/** - * Represents the exceptional case when an Authorizer fails instantiation. - * @deprecated Migrate to use SecurityProviderCreationException - */ -@Deprecated // TODO migrate all usages to SecurityProviderCreationException -public class AuthorizerCreationException extends RuntimeException { - - public AuthorizerCreationException() { - } - - public AuthorizerCreationException(String msg) { - super(msg); - } - - public AuthorizerCreationException(Throwable cause) { - super(cause); - } - - public AuthorizerCreationException(String msg, Throwable cause) { - super(msg, cause); - } -} http://git-wip-us.apache.org/repos/asf/nifi-registry/blob/81a1a360/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerDestructionException.java ---------------------------------------------------------------------- diff --git a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerDestructionException.java b/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerDestructionException.java deleted file mode 100644 index 6892445..0000000 --- a/nifi-registry-security-api/src/main/java/org/apache/nifi/registry/security/authorization/exception/AuthorizerDestructionException.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.apache.nifi.registry.security.authorization.exception; - -/** - * Represents the exceptional case when an Authorizer fails destruction. - * @deprecated Migrate to use SecurityProviderDestructionException - */ -@Deprecated // TODO migrate all usages to SecurityProviderDestructionException -public class AuthorizerDestructionException extends RuntimeException { - - public AuthorizerDestructionException() { - } - - public AuthorizerDestructionException(String msg) { - super(msg); - } - - public AuthorizerDestructionException(Throwable cause) { - super(cause); - } - - public AuthorizerDestructionException(String msg, Throwable cause) { - super(msg, cause); - } -}
