diff --git a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/List.java b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/List.java index 9f6f47df3..4decb4a49 100644 --- a/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/List.java +++ b/guacamole/src/main/java/net/sourceforge/guacamole/net/basic/crud/connections/List.java @@ -35,6 +35,7 @@ import net.sourceforge.guacamole.net.auth.UserContext; import net.sourceforge.guacamole.net.auth.permission.ConnectionPermission; import net.sourceforge.guacamole.net.auth.permission.ObjectPermission; import net.sourceforge.guacamole.net.auth.permission.Permission; +import net.sourceforge.guacamole.net.auth.permission.SystemPermission; import net.sourceforge.guacamole.net.basic.AuthenticatingHttpServlet; import net.sourceforge.guacamole.protocol.GuacamoleConfiguration; @@ -95,6 +96,10 @@ public class List extends AuthenticatingHttpServlet { // Get connection directory Directory directory = context.getConnectionDirectory(); + // Sys-admin permission + Permission systemPermission = + new SystemPermission(SystemPermission.Type.ADMINISTER); + // Write actual XML try { @@ -121,7 +126,8 @@ public class List extends AuthenticatingHttpServlet { connection.getConfiguration().getProtocol()); // If update permission available, include parameters - if (hasConfigPermission(self, ObjectPermission.Type.UPDATE, + if (self.hasPermission(systemPermission) || + hasConfigPermission(self, ObjectPermission.Type.UPDATE, identifier)) { // As update permission is present, also list parameters diff --git a/guacamole/src/main/webapp/scripts/admin-ui.js b/guacamole/src/main/webapp/scripts/admin-ui.js index b0da514a0..d6f19b1cf 100644 --- a/guacamole/src/main/webapp/scripts/admin-ui.js +++ b/guacamole/src/main/webapp/scripts/admin-ui.js @@ -471,7 +471,8 @@ GuacAdmin.addUser = function(name) { } // If readable connections exist, list them - if (GuacAdmin.hasEntry(GuacAdmin.cached_permissions.administer_connection)) { + if (GuacAdmin.cached_permissions.administer || + GuacAdmin.hasEntry(GuacAdmin.cached_permissions.administer_connection)) { // Add fields for per-connection checkboxes var connections_header = GuacUI.createChildElement(sections, "dt");