@Override public void addCompositeRole(RoleModel role) { getDelegateForUpdate(); updated.addCompositeRole(role); }
@Override public void addCompositeRole(RoleModel role) { getDelegateForUpdate(); updated.addCompositeRole(role); }
private void addRoles(ClientModel client, RoleModel parent) { String[] names = new String[] { ROLE_VIEW_BEER, ROLE_MANAGE_BEER }; for (String name : names) { RoleModel role = client.addRole(name); role.setDescription("${role_" + name + "}"); parent.addCompositeRole(role); } }
private void fillCompositeRoles(Map<String, RoleEntity> rolesMap, RoleContainerModel roleContainer, RealmModel realm) { for (RoleModel role : roleContainer.getRoles()) { RoleEntity roleEntity = rolesMap.get(role.getId()); if (roleEntity.getCompositeRoleIds() == null) { continue; } for (String compositeRoleId : roleEntity.getCompositeRoleIds()) { RoleModel compositeRole = realm.getRoleById(compositeRoleId); role.addCompositeRole(compositeRole); } } }
private static void addComposites(RoleModel role, RoleRepresentation roleRep, RealmModel realm) { if (roleRep.getComposites() == null) return; if (roleRep.getComposites().getRealm() != null) { for (String roleStr : roleRep.getComposites().getRealm()) { RoleModel realmRole = realm.getRole(roleStr); if (realmRole == null) throw new RuntimeException("Unable to find composite realm role: " + roleStr); role.addCompositeRole(realmRole); } } if (roleRep.getComposites().getClient() != null) { for (Map.Entry<String, List<String>> entry : roleRep.getComposites().getClient().entrySet()) { ClientModel client = realm.getClientByClientId(entry.getKey()); if (client == null) { throw new RuntimeException("App doesn't exist in role definitions: " + roleRep.getName()); } for (String roleStr : entry.getValue()) { RoleModel clientRole = client.getRole(roleStr); if (clientRole == null) throw new RuntimeException("Unable to find composite client role: " + roleStr); role.addCompositeRole(clientRole); } } } }
public static void setupRealmRole(RealmModel realm) { if (realm.getName().equals(Config.getAdminRealm())) { return; } // don't need to do this for master realm String realmAdminApplicationClientId = Constants.REALM_MANAGEMENT_CLIENT_ID; ClientModel realmAdminApp = realm.getClientByClientId(realmAdminApplicationClientId); if (realmAdminApp.getRole(IMPERSONATION_ROLE) != null) return; RoleModel impersonationRole = realmAdminApp.addRole(IMPERSONATION_ROLE); impersonationRole.setDescription("${role_" + IMPERSONATION_ROLE + "}"); impersonationRole.setScopeParamRequired(false); RoleModel adminRole = realmAdminApp.getRole(AdminRoles.REALM_ADMIN); adminRole.addCompositeRole(impersonationRole); }
public static void setupMasterRealmRole(RealmProvider model, RealmModel realm) { RealmModel adminRealm; RoleModel adminRole; if (realm.getName().equals(Config.getAdminRealm())) { adminRealm = realm; adminRole = realm.getRole(AdminRoles.ADMIN); } else { adminRealm = model.getRealmByName(Config.getAdminRealm()); adminRole = adminRealm.getRole(AdminRoles.ADMIN); } ClientModel realmAdminApp = adminRealm.getClientByClientId(KeycloakModelUtils.getMasterRealmAdminApplicationClientId(realm.getName())); if (realmAdminApp.getRole(IMPERSONATION_ROLE) != null) return; RoleModel impersonationRole = realmAdminApp.addRole(IMPERSONATION_ROLE); impersonationRole.setDescription("${role_" + IMPERSONATION_ROLE + "}"); impersonationRole.setScopeParamRequired(false); adminRole.addCompositeRole(impersonationRole); }
role.setScopeParamRequired(false); client.getRealm().getRole(AdminRoles.ADMIN).addCompositeRole(role); role.setScopeParamRequired(false); client.getRole(AdminRoles.REALM_ADMIN).addCompositeRole(role);