/* * RHQ Management Platform * Copyright (C) 2005-2008 Red Hat, Inc. * All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License, version 2, as * published by the Free Software Foundation, and/or the GNU Lesser * General Public License, version 2.1, also as published by the Free * Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License and the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU General Public License * and the GNU Lesser General Public License along with this program; * if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ package org.rhq.core.domain.util; import org.rhq.core.domain.auth.Subject; public final class AuthzConstants { // Root Resource Type public static final String rootResType = "covalentAuthzRootResourceType"; // This assumes that the root resource is always initialized // with the first id available in a sequence that starts at 0 public static final Integer rootResourceId = new Integer(0); public static final Integer rootSubjectId = new Integer(1); public static final String groupResourceTypeName = "covalentAuthzResourceGroup"; public static final String rootResourceGroupName = "ROOT_RESOURCE_GROUP"; public static final Integer rootResourceGroupId = new Integer(1); public static final Integer authzResourceGroupId = new Integer(0); // Appdef Resource Types public static final String platformResType = "covalentEAMPlatform"; public static final String serverResType = "covalentEAMServer"; public static final String serviceResType = "covalentEAMService"; public static final String applicationResType = "covalentEAMApplication"; public static final String groupResType = "covalentAuthzResourceGroup"; // Appdef Operations // Platform Operations public static final String platformOpCreatePlatform = "createPlatform"; public static final String platformOpModifyPlatform = "modifyPlatform"; public static final String platformOpRemovePlatform = "removePlatform"; public static final String platformOpAddServer = "addServer"; public static final String platformOpViewPlatform = "viewPlatform"; public static final String platformOpMonitorPlatform = "monitorPlatform"; public static final String platformOpControlPlatform = "controlPlatform"; public static final String platformOpManageAlerts = "managePlatformAlerts"; // Server Operations public static final String serverOpCreateServer = "createServer"; public static final String serverOpModifyServer = "modifyServer"; public static final String serverOpRemoveServer = "removeServer"; public static final String serverOpAddService = "addService"; public static final String serverOpViewServer = "viewServer"; public static final String serverOpMonitorServer = "monitorServer"; public static final String serverOpControlServer = "controlServer"; public static final String serverOpManageAlerts = "manageServerAlerts"; // Service Operations public static final String serviceOpCreateService = "createService"; public static final String serviceOpModifyService = "modifyService"; public static final String serviceOpRemoveService = "removeService"; public static final String serviceOpViewService = "viewService"; public static final String serviceOpMonitorService = "monitorService"; public static final String serviceOpControlService = "controlService"; public static final String serviceOpManageAlerts = "manageServiceAlerts"; // Application Operations public static final String appOpCreateApplication = "createApplication"; public static final String appOpModifyApplication = "modifyApplication"; public static final String appOpRemoveApplication = "removeApplication"; public static final String appOpViewApplication = "viewApplication"; public static final String appOpMonitorApplication = "monitorApplication"; public static final String appOpControlApplication = "controlApplication"; public static final String appOpManageAlerts = "manageApplicationAlerts"; // Group Operations public static final String groupOpViewResourceGroup = "viewResourceGroup"; public static final String groupOpManageAlerts = "manageGroupAlerts"; // View permission constants - defined in authz-data.xml public static final Integer perm_viewSubject = new Integer(8); public static final Integer perm_viewRole = new Integer(16); public static final Integer perm_viewResourceGroup = new Integer(28); public static final Integer perm_viewPlatform = new Integer(305); public static final Integer perm_viewServer = new Integer(311); public static final Integer perm_viewService = new Integer(315); public static final Integer perm_viewApplication = new Integer(319); // Modify permission constants - defined in authz-data.xml public static final Integer perm_modifySubject = new Integer(6); public static final Integer perm_modifyRole = new Integer(11); public static final Integer perm_modifyResourceGroup = new Integer(24); public static final Integer perm_modifyPlatform = new Integer(301); public static final Integer perm_modifyServer = new Integer(307); public static final Integer perm_modifyService = new Integer(313); public static final Integer perm_modifyApplication = new Integer(317); // remove permission constants - defined in authz-data.xml public static final Integer perm_removeSubject = new Integer(7); public static final Integer perm_removeRole = new Integer(30); public static final Integer perm_removeResourceGroup = new Integer(31); public static final Integer perm_removePlatform = new Integer(302); public static final Integer perm_removeServer = new Integer(308); public static final Integer perm_removeService = new Integer(314); public static final Integer perm_removeApplication = new Integer(318); // Authz Stuff... public static final String rootRoleName = "Super User Role"; public static final Integer rootRoleId = new Integer(1); public static final String creatorRoleName = "RESOURCE_CREATOR_ROLE"; public static final String subjectResourceTypeName = "covalentAuthzSubject"; public static final String typeResourceTypeName = "covalentAuthzRootResourceType"; public static final String roleResourceTypeName = "covalentAuthzRole"; public static final int overlordId = 1; public static final Integer overlordIdInteger = new Integer(1); public static final String overlordName = "admin"; public static final String overlordDsn = "covalentAuthzInternalDsn"; public static final String authzResourceGroupName = "covalentAuthzResourceGroup"; public static final String rootOpCAMAdmin = "administerCAM"; public static final String typeOpCreateResource = "createResource"; public static final String typeOpModifyResourceType = "modifyResourceType"; public static final String typeOpAddOperation = "addOperation"; public static final String typeOpRemoveOperation = "removeOperation"; public static final String subjectOpViewSubject = "viewSubject"; public static final String subjectOpModifySubject = "modifySubject"; public static final String subjectOpRemoveSubject = "removeSubject"; public static final String subjectOpCreateSubject = "createSubject"; public static final String roleOpCreateRole = "createRole"; public static final String roleOpModifyRole = "modifyRole"; public static final String roleOpRemoveRole = "removeRole"; public static final String roleOpViewRole = "viewRole"; public static final String groupOpModifyResourceGroup = "modifyResourceGroup"; public static final String groupOpAddRole = "addRole"; public static final String groupOpRemoveResourceGroup = "removeResourceGroup"; public static final String privateRoleGroupName = "camPrivateRoleGroup:"; public static final int authzDefaultResourceGroupType = 13; public static final Integer authzSubject = new Integer(1); public static final Integer authzRole = new Integer(2); public static final Integer authzGroup = new Integer(3); public static final Integer authzPlatform = new Integer(301); public static final Integer authzServer = new Integer(303); public static final Integer authzService = new Integer(305); public static final Integer authzApplication = new Integer(308); public static final Integer authzLocation = new Integer(309); public static boolean isOverlord(Integer subject) { return subject.equals(AuthzConstants.overlordIdInteger); } public static boolean isOverlord(Subject subject) { return isOverlord(subject.getId()); } }