Enhance authority display name

This commit is contained in:
AFaust
2020-02-20 19:11:38 +01:00
parent d5cfe4a131
commit 94b1253f56

View File

@@ -13,29 +13,33 @@ function main()
permissionObj = permissions.getJSONObject(idx); permissionObj = permissions.getJSONObject(idx);
add = !permissionObj.has('remove') || !permissionObj.getBoolean('remove'); add = !permissionObj.has('remove') || !permissionObj.getBoolean('remove');
if (add) authority = permissionObj.getString('authority');
permission = permissionObj.getString('role');
if (/^ROLE_.+$/.test(authority))
{ {
authority = permissionObj.getString('authority'); // lazy init
permission = permissionObj.getString('role'); if (!keycloakRolesHash)
if (/^ROLE_.+$/.test(authority))
{ {
// lazy init keycloakRolesArr = keycloakRoles.listRoles();
if (!keycloakRolesHash) keycloakRolesHash = {};
for (jdx = 0; jdx < keycloakRolesArr.length; jdx++)
{ {
keycloakRolesArr = keycloakRoles.listRoles(); keycloakRolesHash[keycloakRolesArr[jdx].name] = true;
keycloakRolesHash = {};
for (jdx = 0; jdx < keycloakRolesArr.length; jdx++)
{
keycloakRolesHash[keycloakRolesArr[jdx].name] = true;
}
} }
}
// only process if role mapped from Keycloak // only process if role mapped from Keycloak
if (keycloakRolesHash.hasOwnProperty(authority)) if (keycloakRolesHash.hasOwnProperty(authority))
{
if (add)
{ {
node.setPermission(permission, authority); node.setPermission(permission, authority);
} }
else
{
node.removePermission(permission, authority);
}
} }
} }
} }