From 38e03f79c6dd53b22386d37ffc22936d8c452d17 Mon Sep 17 00:00:00 2001 From: Matt Date: Sat, 5 Mar 2022 12:23:29 -0800 Subject: [PATCH] Force register TeamRepository in Authorizer init (#3177) --- .../openmetadata/catalog/security/DefaultAuthorizer.java | 6 ++++-- .../org/openmetadata/catalog/security/NoopAuthorizer.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/DefaultAuthorizer.java b/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/DefaultAuthorizer.java index 81541ed31a2..df137e59e60 100644 --- a/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/DefaultAuthorizer.java +++ b/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/DefaultAuthorizer.java @@ -32,6 +32,7 @@ import org.openmetadata.catalog.entity.teams.User; import org.openmetadata.catalog.exception.EntityNotFoundException; import org.openmetadata.catalog.jdbi3.CollectionDAO; import org.openmetadata.catalog.jdbi3.RoleRepository; +import org.openmetadata.catalog.jdbi3.TeamRepository; import org.openmetadata.catalog.jdbi3.UserRepository; import org.openmetadata.catalog.resources.teams.UserResource; import org.openmetadata.catalog.security.policyevaluator.PolicyEvaluator; @@ -61,10 +62,11 @@ public class DefaultAuthorizer implements Authorizer { LOG.debug("Admin users: {}", adminUsers); CollectionDAO collectionDAO = dbi.onDemand(CollectionDAO.class); this.userRepository = new UserRepository(collectionDAO); - // RoleRepository needs to be instantiated for Entity.DAO_MAP to populated. - // As we create default admin/bots we need to have RoleRepository available in DAO_MAP. + // RoleRepository and TeamRepository needs to be instantiated for Entity.DAO_MAP to populated. + // As we create default admin/bots we need to have RoleRepository and TeamRepository available in DAO_MAP. // This needs to be handled better in future releases. RoleRepository roleRepository = new RoleRepository(collectionDAO); + TeamRepository teamRepository = new TeamRepository(collectionDAO); mayBeAddAdminUsers(); mayBeAddBotUsers(); this.policyEvaluator = PolicyEvaluator.getInstance(); diff --git a/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/NoopAuthorizer.java b/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/NoopAuthorizer.java index 1dc2ed356a9..b609c9c95d3 100644 --- a/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/NoopAuthorizer.java +++ b/catalog-rest-service/src/main/java/org/openmetadata/catalog/security/NoopAuthorizer.java @@ -26,6 +26,7 @@ import org.openmetadata.catalog.entity.teams.User; import org.openmetadata.catalog.exception.EntityNotFoundException; import org.openmetadata.catalog.jdbi3.CollectionDAO; import org.openmetadata.catalog.jdbi3.RoleRepository; +import org.openmetadata.catalog.jdbi3.TeamRepository; import org.openmetadata.catalog.jdbi3.UserRepository; import org.openmetadata.catalog.resources.teams.UserResource; import org.openmetadata.catalog.type.EntityReference; @@ -42,10 +43,11 @@ public class NoopAuthorizer implements Authorizer { public void init(AuthorizerConfiguration config, Jdbi jdbi) { CollectionDAO collectionDAO = jdbi.onDemand(CollectionDAO.class); this.userRepository = new UserRepository(collectionDAO); - // RoleRepository needs to be instantiated for Entity.DAO_MAP to populated. - // As we create default admin/bots we need to have RoleRepository available in DAO_MAP. + // RoleRepository and TeamRepository needs to be instantiated for Entity.DAO_MAP to populated. + // As we create default admin/bots we need to have RoleRepository and TeamRepository available in DAO_MAP. // This needs to be handled better in future releases. RoleRepository roleRepository = new RoleRepository(collectionDAO); + TeamRepository teamRepository = new TeamRepository(collectionDAO); addAnonymousUser(); }