From f10580d24d55c6869ad6f7c366f29fe3e8f3ad87 Mon Sep 17 00:00:00 2001 From: Shan Chathusanda Jayathilaka Date: Fri, 25 Oct 2024 11:56:13 +0530 Subject: [PATCH] Improve shared role creation in sub organization level --- .../management/handler/SharedRoleMgtHandler.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/components/org.wso2.carbon.identity.organization.management.handler/src/main/java/org/wso2/carbon/identity/organization/management/handler/SharedRoleMgtHandler.java b/components/org.wso2.carbon.identity.organization.management.handler/src/main/java/org/wso2/carbon/identity/organization/management/handler/SharedRoleMgtHandler.java index 5bd4a6a9a..b04579bd8 100644 --- a/components/org.wso2.carbon.identity.organization.management.handler/src/main/java/org/wso2/carbon/identity/organization/management/handler/SharedRoleMgtHandler.java +++ b/components/org.wso2.carbon.identity.organization.management.handler/src/main/java/org/wso2/carbon/identity/organization/management/handler/SharedRoleMgtHandler.java @@ -271,7 +271,12 @@ private void createSharedRolesOnNewRoleCreation(Map eventPropert for (BasicOrganization organization : applicationSharedOrganizations) { String shareAppTenantDomain = getOrganizationManager().resolveTenantDomain(organization.getId()); - RoleBasicInfo sharedRoleInfo = getRoleManagementServiceV2().addRole(mainRoleName, + String sharedOrgRoleName = mainRoleName; + if (getRoleManagementServiceV2().isExistingRoleName(mainRoleName, RoleConstants.ORGANIZATION, + organization.getId(), shareAppTenantDomain)) { + sharedOrgRoleName = mainRoleName + "_shared_to_" + shareAppTenantDomain; + } + RoleBasicInfo sharedRoleInfo = getRoleManagementServiceV2().addRole(sharedOrgRoleName, Collections.emptyList(), Collections.emptyList(), Collections.emptyList(), RoleConstants.ORGANIZATION, organization.getId(),