Skip to content

Commit 894dca4

Browse files
GUACAMOLE-2279: Merge grant auditors the ability to view recordings.
2 parents 0c56c9e + 35ae942 commit 894dca4

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

extensions/guacamole-history-recording-storage/src/main/java/org/apache/guacamole/history/connection/RecordedConnectionActivityRecordSet.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ public class RecordedConnectionActivityRecordSet extends DecoratingActivityRecor
4040
* Whether the current user is an administrator.
4141
*/
4242
private final boolean isAdmin;
43+
44+
/**
45+
* Whether the current user is an auditor.
46+
*/
47+
private final boolean isAuditor;
4348

4449
/**
4550
* The overall set of connection permissions defined for the current user.
@@ -69,9 +74,10 @@ public RecordedConnectionActivityRecordSet(User currentUser,
6974
// Determine whether current user is an administrator
7075
Permissions perms = currentUser.getEffectivePermissions();
7176
isAdmin = perms.getSystemPermissions().hasPermission(SystemPermission.Type.ADMINISTER);
77+
isAuditor = perms.getSystemPermissions().hasPermission(SystemPermission.Type.AUDIT);
7278

73-
// If not an admin, additionally pull specific connection permissions
74-
if (isAdmin)
79+
// If not an admin or auditor, additionally pull specific connection permissions
80+
if (isAdmin || isAuditor)
7581
connectionPermissions = Collections.emptySet();
7682
else
7783
connectionPermissions = perms.getConnectionPermissions().getPermissions();
@@ -95,8 +101,8 @@ public RecordedConnectionActivityRecordSet(User currentUser,
95101
*/
96102
private boolean canViewLogs(ConnectionRecord record) {
97103

98-
// Administrator can always view
99-
if (isAdmin)
104+
// Administrator or Auditor can always view
105+
if (isAdmin || isAuditor)
100106
return true;
101107

102108
// Non-administrator CANNOT view if permissions cannot be verified

0 commit comments

Comments
 (0)