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.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<String, Connection> 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

View File

@@ -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");