From e1fea889ca33b4f78e475cc952c8bd4562dc02fe Mon Sep 17 00:00:00 2001 From: Virtually Nick Date: Thu, 21 Feb 2019 16:19:42 -0500 Subject: [PATCH 1/2] GUACAMOLE-696: In JDBC module, merge effective groups. --- .../auth/jdbc/user/ModeledAuthenticatedUser.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java index 828b05e9c..e97d769e8 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java @@ -20,6 +20,7 @@ package org.apache.guacamole.auth.jdbc.user; import java.util.Collections; +import java.util.HashSet; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import org.apache.guacamole.net.auth.AuthenticatedUser; @@ -168,5 +169,12 @@ public class ModeledAuthenticatedUser extends RemoteAuthenticatedUser { public void setIdentifier(String identifier) { user.setIdentifier(identifier); } + + @Override + public Set getEffectiveUserGroups() { + Set allGroups = new HashSet<>(user.getEffectiveUserGroups()); + allGroups.addAll(super.getEffectiveUserGroups()); + return Collections.unmodifiableSet(allGroups); + } } From 9158ca68e3fb90c2a2e4545b7b08cf3e6de886c5 Mon Sep 17 00:00:00 2001 From: Virtually Nick Date: Sun, 5 May 2019 21:16:44 -0400 Subject: [PATCH 2/2] GUACAMOLE-696: Use Guava Sets to combine the user groups. --- .../guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java index e97d769e8..5778ad01a 100644 --- a/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java +++ b/extensions/guacamole-auth-jdbc/modules/guacamole-auth-jdbc-base/src/main/java/org/apache/guacamole/auth/jdbc/user/ModeledAuthenticatedUser.java @@ -19,8 +19,8 @@ package org.apache.guacamole.auth.jdbc.user; +import com.google.common.collect.Sets; import java.util.Collections; -import java.util.HashSet; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import org.apache.guacamole.net.auth.AuthenticatedUser; @@ -172,9 +172,8 @@ public class ModeledAuthenticatedUser extends RemoteAuthenticatedUser { @Override public Set getEffectiveUserGroups() { - Set allGroups = new HashSet<>(user.getEffectiveUserGroups()); - allGroups.addAll(super.getEffectiveUserGroups()); - return Collections.unmodifiableSet(allGroups); + return Sets.union(user.getEffectiveUserGroups(), + super.getEffectiveUserGroups()); } }