diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java index 47a0c1795..a30f9302a 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/glyptodon/guacamole/auth/jdbc/permission/SystemPermissionService.java @@ -151,9 +151,8 @@ public class SystemPermissionService public SystemPermission retrievePermission(AuthenticatedUser user, ModeledUser targetUser, SystemPermission.Type type) throws GuacamoleException { - // Only an admin can read permissions that aren't his own - if (user.getUser().getIdentifier().equals(targetUser.getIdentifier()) - || user.getUser().isAdministrator()) { + // Retrieve permissions only if allowed + if (canReadPermissions(user, targetUser)) { // Read permission from database, return null if not found SystemPermissionModel model = getPermissionMapper().selectOne(targetUser.getModel(), type);