Commit 173bfed4 authored by Brian Long's avatar Brian Long
Browse files

Merge branch 'develop' into stable

parents dc5a7dad 76066f01
Loading
Loading
Loading
Loading
+15 −8
Original line number Diff line number Diff line
@@ -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;
@@ -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;
	
@@ -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"));
	}
	
+1 −1
Original line number Diff line number Diff line
@@ -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