Connection parameters should be listed if admin permission present. Connection section of user profile should be shown if admin permission present.

This commit is contained in:
Michael Jumper
2013-03-04 00:19:45 -08:00
parent 4a9e1484db
commit 33fbc857f8
2 changed files with 9 additions and 2 deletions

View File

@@ -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.ConnectionPermission;
import net.sourceforge.guacamole.net.auth.permission.ObjectPermission; import net.sourceforge.guacamole.net.auth.permission.ObjectPermission;
import net.sourceforge.guacamole.net.auth.permission.Permission; 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.net.basic.AuthenticatingHttpServlet;
import net.sourceforge.guacamole.protocol.GuacamoleConfiguration; import net.sourceforge.guacamole.protocol.GuacamoleConfiguration;
@@ -95,6 +96,10 @@ public class List extends AuthenticatingHttpServlet {
// Get connection directory // Get connection directory
Directory<String, Connection> directory = context.getConnectionDirectory(); Directory<String, Connection> directory = context.getConnectionDirectory();
// Sys-admin permission
Permission systemPermission =
new SystemPermission(SystemPermission.Type.ADMINISTER);
// Write actual XML // Write actual XML
try { try {
@@ -121,7 +126,8 @@ public class List extends AuthenticatingHttpServlet {
connection.getConfiguration().getProtocol()); connection.getConfiguration().getProtocol());
// If update permission available, include parameters // If update permission available, include parameters
if (hasConfigPermission(self, ObjectPermission.Type.UPDATE, if (self.hasPermission(systemPermission) ||
hasConfigPermission(self, ObjectPermission.Type.UPDATE,
identifier)) { identifier)) {
// As update permission is present, also list parameters // As update permission is present, also list parameters

View File

@@ -471,7 +471,8 @@ GuacAdmin.addUser = function(name) {
} }
// If readable connections exist, list them // 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 // Add fields for per-connection checkboxes
var connections_header = GuacUI.createChildElement(sections, "dt"); var connections_header = GuacUI.createChildElement(sections, "dt");