mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
GUACAMOLE-593: Allow group membership attribute to be configured.
This commit is contained in:
@@ -358,5 +358,12 @@ public class ConfigurationService {
|
||||
LDAPGuacamoleProperties.LDAP_USER_ATTRIBUTES
|
||||
);
|
||||
}
|
||||
|
||||
public String getMemberAttribute() throws GuacamoleException {
|
||||
return environment.getProperty(
|
||||
LDAPGuacamoleProperties.LDAP_MEMBER_ATTRIBUTE,
|
||||
"member"
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -215,4 +215,11 @@ public class LDAPGuacamoleProperties {
|
||||
public String getName() { return "ldap-user-attributes"; }
|
||||
|
||||
};
|
||||
|
||||
public static final StringGuacamoleProperty LDAP_MEMBER_ATTRIBUTE = new StringGuacamoleProperty() {
|
||||
|
||||
@Override
|
||||
public String getName() { return "ldap-member-attribute"; }
|
||||
|
||||
};
|
||||
}
|
||||
|
@@ -245,7 +245,10 @@ public class ConnectionService {
|
||||
StringBuilder connectionSearchFilter = new StringBuilder();
|
||||
|
||||
// Add the prefix to the search filter, prefix filter searches for guacConfigGroups with the userDN as the member attribute value
|
||||
connectionSearchFilter.append("(&(objectClass=guacConfigGroup)(|(member=");
|
||||
connectionSearchFilter.append("(&(objectClass=guacConfigGroup)");
|
||||
connectionSearchFilter.append("(|(");
|
||||
connectionSearchFilter.append(confService.getMemberAttribute());
|
||||
connectionSearchFilter.append("=");
|
||||
connectionSearchFilter.append(escapingService.escapeLDAPSearchFilter(userDN));
|
||||
connectionSearchFilter.append(")");
|
||||
|
||||
@@ -257,7 +260,10 @@ public class ConnectionService {
|
||||
LDAPSearchResults userRoleGroupResults = ldapConnection.search(
|
||||
groupBaseDN,
|
||||
LDAPConnection.SCOPE_SUB,
|
||||
"(&(!(objectClass=guacConfigGroup))(member=" + escapingService.escapeLDAPSearchFilter(userDN) + "))",
|
||||
"(&(!(objectClass=guacConfigGroup))("
|
||||
+ confService.getMemberAttribute()
|
||||
+ "=" + escapingService.escapeLDAPSearchFilter(userDN)
|
||||
+ "))",
|
||||
null,
|
||||
false,
|
||||
confService.getLDAPSearchConstraints()
|
||||
|
Reference in New Issue
Block a user