mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 21:27:40 +00:00
GUACAMOLE-360: Allow user to kill their own active sessions.
This commit is contained in:
committed by
Nick Couchman
parent
3eda313519
commit
85c7b511e1
@@ -110,14 +110,12 @@ public class ActiveConnectionService
|
||||
@Override
|
||||
public void deleteObject(ModeledAuthenticatedUser user, String identifier)
|
||||
throws GuacamoleException {
|
||||
|
||||
// Only administrators may delete active connections
|
||||
if (!user.getUser().isAdministrator())
|
||||
throw new GuacamoleSecurityException("Permission denied.");
|
||||
|
||||
|
||||
// Close connection, if it exists (and we have permission)
|
||||
ActiveConnection activeConnection = retrieveObject(user, identifier);
|
||||
if (activeConnection != null) {
|
||||
if (activeConnection != null &&
|
||||
(user.getUser().isAdministrator()
|
||||
|| user.getIdentifier().equals(activeConnection.getUsername()))) {
|
||||
|
||||
// Close connection if not already closed
|
||||
GuacamoleTunnel tunnel = activeConnection.getTunnel();
|
||||
@@ -125,6 +123,8 @@ public class ActiveConnectionService
|
||||
tunnel.close();
|
||||
|
||||
}
|
||||
else
|
||||
throw new GuacamoleSecurityException("Permission denied.");
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user