mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-07 05:31:22 +00:00
GUACAMOLE-593: Allow group membership attribute to be configured.
This commit is contained in:
@@ -359,4 +359,11 @@ public class ConfigurationService {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 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();
|
StringBuilder connectionSearchFilter = new StringBuilder();
|
||||||
|
|
||||||
// Add the prefix to the search filter, prefix filter searches for guacConfigGroups with the userDN as the member attribute value
|
// 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(escapingService.escapeLDAPSearchFilter(userDN));
|
||||||
connectionSearchFilter.append(")");
|
connectionSearchFilter.append(")");
|
||||||
|
|
||||||
@@ -257,7 +260,10 @@ public class ConnectionService {
|
|||||||
LDAPSearchResults userRoleGroupResults = ldapConnection.search(
|
LDAPSearchResults userRoleGroupResults = ldapConnection.search(
|
||||||
groupBaseDN,
|
groupBaseDN,
|
||||||
LDAPConnection.SCOPE_SUB,
|
LDAPConnection.SCOPE_SUB,
|
||||||
"(&(!(objectClass=guacConfigGroup))(member=" + escapingService.escapeLDAPSearchFilter(userDN) + "))",
|
"(&(!(objectClass=guacConfigGroup))("
|
||||||
|
+ confService.getMemberAttribute()
|
||||||
|
+ "=" + escapingService.escapeLDAPSearchFilter(userDN)
|
||||||
|
+ "))",
|
||||||
null,
|
null,
|
||||||
false,
|
false,
|
||||||
confService.getLDAPSearchConstraints()
|
confService.getLDAPSearchConstraints()
|
||||||
|
Reference in New Issue
Block a user