Skip to content

Commit 85f4e4f

Browse files
Merge pull request #854 from neo4j-labs/feature/rbac_feature_updates
Update role selector menu + more robust user updates
2 parents 0bd87b8 + ec61cb1 commit 85f4e4f

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/extensions/rbac/RBACManagementMenu.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ export const RBACManagementMenu = ({ anchorEl, MenuOpen, handleClose, createNoti
6464
onClose={handleClose}
6565
size='small'
6666
>
67-
<MenuItems>
67+
<MenuItems className='n-overflow-y-scroll n-h-44'>
6868
{roles.map((role) => (
6969
<MenuItem key={role} onClick={() => handleRoleClicked(role)} icon={<UserIconOutline />} title={role} />
7070
))}

src/extensions/rbac/RBACUtils.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -258,10 +258,11 @@ export function retrieveDatabaseList(driver, setDatabases: React.Dispatch<React.
258258
export async function updateUsers(driver, currentRole, allUsers, selectedUsers, onSuccess, onFail) {
259259
// 1. Build the query that removes all users from the role.
260260
let globalStatus = -1;
261+
const escapedAllUsers = allUsers.map((user) => `\`${user}\``).join(',');
261262
await runCypherQuery(
262263
driver,
263264
'system',
264-
`REVOKE ROLE ${currentRole} FROM ${allUsers.join(',')}`,
265+
`REVOKE ROLE ${currentRole} FROM ${escapedAllUsers}`,
265266
{},
266267
1000,
267268
(status) => {
@@ -277,10 +278,11 @@ export async function updateUsers(driver, currentRole, allUsers, selectedUsers,
277278
// TODO: Neo4j is very slow in updating after the previous query, even though it is technically a finished query.
278279
// We build in an artificial delay...
279280
if (selectedUsers.length > 0) {
281+
const escapedSelectedUsers = selectedUsers.map((user) => `\`${user}\``).join(',');
280282
await runCypherQuery(
281283
driver,
282284
'system',
283-
`GRANT ROLE ${currentRole} TO ${selectedUsers.join(',')}`,
285+
`GRANT ROLE ${currentRole} TO ${escapedSelectedUsers}`,
284286
{},
285287
1000,
286288
(status) => {

0 commit comments

Comments
 (0)