Loading src/main/java/com/inteligr8/activiti/Inteligr8SecurityConfigurationRegistry.java +15 −8 Original line number Diff line number Diff line Loading @@ -4,9 +4,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Date; import java.util.List; import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; Loading Loading @@ -59,6 +58,12 @@ public class Inteligr8SecurityConfigurationRegistry implements AlfrescoSecurityC @Value("${keycloak-ext.default.admins.users:#{null}}") private String adminUserStrs; @Value("${keycloak-ext.group.admins.name:admins}") private String adminGroupName; @Value("${keycloak-ext.group.admins.externalId:aps-admin}") private String adminGroupExternalId; @Value("${keycloak-ext.group.admins.validate:false}") private boolean validateAdministratorsGroup; Loading Loading @@ -103,12 +108,14 @@ public class Inteligr8SecurityConfigurationRegistry implements AlfrescoSecurityC return; Long tenantId = this.findDefaultTenantId(); List<Group> groups = this.groupService.getSystemGroupWithName("Administrators", tenantId); if (groups.isEmpty()) groups = Arrays.asList(this.groupService.createGroup("Administrators", tenantId, Group.TYPE_SYSTEM_GROUP, null)); Group group = this.groupService.getGroupByExternalId(this.adminGroupExternalId); if (group == null) { this.logger.info("Creating '{}' group ...", this.adminGroupName); group = this.groupService.createGroupFromExternalStore( this.adminGroupExternalId, tenantId, Group.TYPE_SYSTEM_GROUP, null, this.adminGroupName, new Date()); } this.logger.info("Validating 'Administrators' group ..."); for (Group group : groups) this.logger.info("Granting '{}' group all capabilities ...", group.getName()); this.groupService.addCapabilitiesToGroup(group.getId(), Arrays.asList("access-all-models-in-tenant", "access-editor", "access-reports", "publish-app-to-dashboard", "tenant-admin", "tenant-admin-api", "upload-license")); } Loading src/main/java/com/inteligr8/activiti/keycloak/KeycloakActivitiAppAuthenticator.java +1 −1 Original line number Diff line number Diff line Loading @@ -162,7 +162,7 @@ public class KeycloakActivitiAppAuthenticator extends AbstractKeycloakActivitiAu // check Activiti groups User userWithGroups = this.userService.findUserByEmailFetchGroups(user.getEmail()); for (Group group : userWithGroups.getGroups()) { this.logger.trace("Inspecting group: {} => {}", group.getId(), group.getName()); this.logger.trace("Inspecting group: {} => {} ({})", group.getId(), group.getName(), group.getExternalId()); if (group.getExternalId() == null) { // skip APS system groups Loading Loading
src/main/java/com/inteligr8/activiti/Inteligr8SecurityConfigurationRegistry.java +15 −8 Original line number Diff line number Diff line Loading @@ -4,9 +4,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.Date; import java.util.List; import java.util.Set; import org.slf4j.Logger; import org.slf4j.LoggerFactory; Loading Loading @@ -59,6 +58,12 @@ public class Inteligr8SecurityConfigurationRegistry implements AlfrescoSecurityC @Value("${keycloak-ext.default.admins.users:#{null}}") private String adminUserStrs; @Value("${keycloak-ext.group.admins.name:admins}") private String adminGroupName; @Value("${keycloak-ext.group.admins.externalId:aps-admin}") private String adminGroupExternalId; @Value("${keycloak-ext.group.admins.validate:false}") private boolean validateAdministratorsGroup; Loading Loading @@ -103,12 +108,14 @@ public class Inteligr8SecurityConfigurationRegistry implements AlfrescoSecurityC return; Long tenantId = this.findDefaultTenantId(); List<Group> groups = this.groupService.getSystemGroupWithName("Administrators", tenantId); if (groups.isEmpty()) groups = Arrays.asList(this.groupService.createGroup("Administrators", tenantId, Group.TYPE_SYSTEM_GROUP, null)); Group group = this.groupService.getGroupByExternalId(this.adminGroupExternalId); if (group == null) { this.logger.info("Creating '{}' group ...", this.adminGroupName); group = this.groupService.createGroupFromExternalStore( this.adminGroupExternalId, tenantId, Group.TYPE_SYSTEM_GROUP, null, this.adminGroupName, new Date()); } this.logger.info("Validating 'Administrators' group ..."); for (Group group : groups) this.logger.info("Granting '{}' group all capabilities ...", group.getName()); this.groupService.addCapabilitiesToGroup(group.getId(), Arrays.asList("access-all-models-in-tenant", "access-editor", "access-reports", "publish-app-to-dashboard", "tenant-admin", "tenant-admin-api", "upload-license")); } Loading
src/main/java/com/inteligr8/activiti/keycloak/KeycloakActivitiAppAuthenticator.java +1 −1 Original line number Diff line number Diff line Loading @@ -162,7 +162,7 @@ public class KeycloakActivitiAppAuthenticator extends AbstractKeycloakActivitiAu // check Activiti groups User userWithGroups = this.userService.findUserByEmailFetchGroups(user.getEmail()); for (Group group : userWithGroups.getGroups()) { this.logger.trace("Inspecting group: {} => {}", group.getId(), group.getName()); this.logger.trace("Inspecting group: {} => {} ({})", group.getId(), group.getName(), group.getExternalId()); if (group.getExternalId() == null) { // skip APS system groups Loading