Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/983#discussion_r143910336 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/DrillRoot.java --- @@ -75,6 +80,29 @@ public ClusterInfo getClusterInfoJSON() { final DrillConfig config = dbContext.getConfig(); final boolean userEncryptionEnabled = config.getBoolean(ExecConstants.USER_ENCRYPTION_SASL_ENABLED); final boolean bitEncryptionEnabled = config.getBoolean(ExecConstants.BIT_ENCRYPTION_SASL_ENABLED); + // If the user is logged in and is admin user then show the admin user info + // For all other cases the user info need-not or should-not be displayed + OptionManager optionManager = work.getContext().getOptionManager(); + final boolean isUserLoggedIn = AuthDynamicFeature.isUserLoggedIn(sc); + String adminUsers = isUserLoggedIn ? + ExecConstants.ADMIN_USERS_VALIDATOR.getAdminUsers(optionManager) : null; + String adminUserGroups = isUserLoggedIn ? + ExecConstants.ADMIN_USER_GROUPS_VALIDATOR.getAdminUserGroups(optionManager) : null; + + // separate groups by comma + space + if (adminUsers != null) { + String[] groups = adminUsers.split(","); + adminUsers = DrillStringUtils.join(groups, ", "); + } + + // separate groups by comma + space + if (adminUserGroups != null) { + String[] groups = adminUserGroups.split(","); + adminUserGroups = DrillStringUtils.join(groups, ", "); --- End diff -- What if the user provided the list with spaces: "a, b, c"? Actually, in the above, it is fine; HTML will compress the run of spaces to a single one for display... But, what about where we do the real check? Do the unit tests cover this case?
---