mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 05:31:22 +00:00
Do not attempt to list groups unless we can expect to have the rights to do so.
This commit is contained in:
@@ -34,6 +34,7 @@ import net.sourceforge.guacamole.net.auth.ConnectionRecord;
|
|||||||
import net.sourceforge.guacamole.net.auth.Directory;
|
import net.sourceforge.guacamole.net.auth.Directory;
|
||||||
import net.sourceforge.guacamole.net.auth.User;
|
import net.sourceforge.guacamole.net.auth.User;
|
||||||
import net.sourceforge.guacamole.net.auth.UserContext;
|
import net.sourceforge.guacamole.net.auth.UserContext;
|
||||||
|
import net.sourceforge.guacamole.net.auth.permission.ConnectionGroupPermission;
|
||||||
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;
|
||||||
@@ -123,9 +124,17 @@ public class List extends AuthenticatingHttpServlet {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Write contained groups and connections
|
Permission group_admin_permission = new ConnectionGroupPermission(
|
||||||
writeConnections(self, xml, group.getConnectionDirectory());
|
ObjectPermission.Type.ADMINISTER, group.getIdentifier());
|
||||||
writeConnectionGroups(self, xml, group.getConnectionGroupDirectory());
|
|
||||||
|
// Attempt to list contained groups and connections ONLY if the group
|
||||||
|
// is organizational or we have admin rights to it
|
||||||
|
if (group.getType() == ConnectionGroup.Type.ORGANIZATIONAL
|
||||||
|
|| self.hasPermission(SYSTEM_PERMISSION)
|
||||||
|
|| self.hasPermission(group_admin_permission)) {
|
||||||
|
writeConnections(self, xml, group.getConnectionDirectory());
|
||||||
|
writeConnectionGroups(self, xml, group.getConnectionGroupDirectory());
|
||||||
|
}
|
||||||
|
|
||||||
// End of group
|
// End of group
|
||||||
xml.writeEndElement();
|
xml.writeEndElement();
|
||||||
|
Reference in New Issue
Block a user