mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUAC-1100: Bring SimpleUser up-to-date with API changes.
This commit is contained in:
@@ -27,13 +27,13 @@ import java.util.HashSet;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import org.glyptodon.guacamole.GuacamoleException;
|
import org.glyptodon.guacamole.GuacamoleException;
|
||||||
import org.glyptodon.guacamole.GuacamoleSecurityException;
|
|
||||||
import org.glyptodon.guacamole.net.auth.AbstractUser;
|
import org.glyptodon.guacamole.net.auth.AbstractUser;
|
||||||
|
import org.glyptodon.guacamole.net.auth.Connection;
|
||||||
import org.glyptodon.guacamole.net.auth.ConnectionGroup;
|
import org.glyptodon.guacamole.net.auth.ConnectionGroup;
|
||||||
import org.glyptodon.guacamole.net.auth.permission.ConnectionGroupPermission;
|
import org.glyptodon.guacamole.net.auth.User;
|
||||||
import org.glyptodon.guacamole.net.auth.permission.ConnectionPermission;
|
|
||||||
import org.glyptodon.guacamole.net.auth.permission.ObjectPermission;
|
import org.glyptodon.guacamole.net.auth.permission.ObjectPermission;
|
||||||
import org.glyptodon.guacamole.net.auth.permission.Permission;
|
import org.glyptodon.guacamole.net.auth.permission.ObjectPermissionSet;
|
||||||
|
import org.glyptodon.guacamole.net.auth.permission.SystemPermissionSet;
|
||||||
import org.glyptodon.guacamole.protocol.GuacamoleConfiguration;
|
import org.glyptodon.guacamole.protocol.GuacamoleConfiguration;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -44,9 +44,16 @@ import org.glyptodon.guacamole.protocol.GuacamoleConfiguration;
|
|||||||
public class SimpleUser extends AbstractUser {
|
public class SimpleUser extends AbstractUser {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The set of all permissions available to this user.
|
* All connection permissions granted to this user.
|
||||||
*/
|
*/
|
||||||
private Set<Permission> permissions = new HashSet<Permission>();
|
private final Set<ObjectPermission<String>> connectionPermissions =
|
||||||
|
new HashSet<ObjectPermission<String>>();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* All connection group permissions granted to this user.
|
||||||
|
*/
|
||||||
|
private final Set<ObjectPermission<String>> connectionGroupPermissions =
|
||||||
|
new HashSet<ObjectPermission<String>>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a completely uninitialized SimpleUser.
|
* Creates a completely uninitialized SimpleUser.
|
||||||
@@ -72,13 +79,13 @@ public class SimpleUser extends AbstractUser {
|
|||||||
for (String identifier : configs.keySet()) {
|
for (String identifier : configs.keySet()) {
|
||||||
|
|
||||||
// Create permission
|
// Create permission
|
||||||
Permission permission = new ConnectionPermission(
|
ObjectPermission permission = new ObjectPermission(
|
||||||
ObjectPermission.Type.READ,
|
ObjectPermission.Type.READ,
|
||||||
identifier
|
identifier
|
||||||
);
|
);
|
||||||
|
|
||||||
// Add to set
|
// Add to set
|
||||||
permissions.add(permission);
|
connectionPermissions.add(permission);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -86,36 +93,40 @@ public class SimpleUser extends AbstractUser {
|
|||||||
for (ConnectionGroup group : groups) {
|
for (ConnectionGroup group : groups) {
|
||||||
|
|
||||||
// Create permission
|
// Create permission
|
||||||
Permission permission = new ConnectionGroupPermission(
|
ObjectPermission permission = new ObjectPermission(
|
||||||
ObjectPermission.Type.READ,
|
ObjectPermission.Type.READ,
|
||||||
group.getIdentifier()
|
group.getIdentifier()
|
||||||
);
|
);
|
||||||
|
|
||||||
// Add to set
|
// Add to set
|
||||||
permissions.add(permission);
|
connectionGroupPermissions.add(permission);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<Permission> getPermissions() throws GuacamoleException {
|
public SystemPermissionSet getSystemPermissions()
|
||||||
return permissions;
|
throws GuacamoleException {
|
||||||
|
return new SimpleSystemPermissionSet();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasPermission(Permission permission) throws GuacamoleException {
|
public ObjectPermissionSet<String, Connection> getConnectionPermissions()
|
||||||
return permissions.contains(permission);
|
throws GuacamoleException {
|
||||||
|
return new SimpleObjectPermissionSet<String, Connection>(connectionPermissions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addPermission(Permission permission) throws GuacamoleException {
|
public ObjectPermissionSet<String, ConnectionGroup> getConnectionGroupPermissions()
|
||||||
throw new GuacamoleSecurityException("Permission denied.");
|
throws GuacamoleException {
|
||||||
|
return new SimpleObjectPermissionSet<String, ConnectionGroup>(connectionGroupPermissions);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void removePermission(Permission permission) throws GuacamoleException {
|
public ObjectPermissionSet<String, User> getUserPermissions()
|
||||||
throw new GuacamoleSecurityException("Permission denied.");
|
throws GuacamoleException {
|
||||||
|
return new SimpleObjectPermissionSet<String, User>();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user