Hallo zusammen,
ich habe das ganze mit Gucamole 0.9.14 fehlerfrei mit UCS 4,3 am laufen. Dafür musste die guacamole-auth-ldap-0.9.14.jar neu kompiliert werden:
Umgebung zum Kompilieren einrichten:
1 .guacamole-client-0.9.14.tar.gz runterladen und nach c:\ entpacken
2. apache-maven-3.5.3-bin runterladen und nach c:\ entpacken
3. Java installieren: jdk-8u162-windows-x64.exe runterladen und installieren
Vor dem Kompilieren setzen:
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_162
in die Pfad Variable mit aufnehmen:
C:\apache-maven-3.5.3\bin (enpacktes Maven Verzeichnis (binary))
C:\Program Files\Java\jdk1.8.0_162\bin
- cd C:\guacamole-client-0.9.14
- mvn package --> kompilieren
- Unter C:\guacamole-client-0.9.14\guacamole\target findet sich das fertig War File
(nach der Anpassungen unten)
guacamole-auth-ldap-0.9.14.jar für Ucs anpassen:
1 .Aus dem Ordner
guacamole-client-0.9.14\extensions\guacamole-auth-ldap\src\main\java\org\apache\guacamole\auth\ldap\connection
die Datei ConnectionService.java öffnen.
- Die Zeilen 247 - 264 wie folgt ändern (2x member in uniqueMember ändern):
von:
// 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(escapingService.escapeLDAPSearchFilter(userDN));
connectionSearchFilter.append(")");
// If group base DN is specified search for user groups
String groupBaseDN = confService.getGroupBaseDN();
if (groupBaseDN != null) {
// Get all groups the user is a member of starting at the groupBaseDN, excluding guacConfigGroups
LDAPSearchResults userRoleGroupResults = ldapConnection.search(
groupBaseDN,
LDAPConnection.SCOPE_SUB,
"(&(!(objectClass=guacConfigGroup))(member=" + escapingService.escapeLDAPSearchFilter(userDN) + "))",
null,
false,
confService.getLDAPSearchConstraints()
);
nach:
// Add the prefix to the search filter, prefix filter searches for guacConfigGroups with the
userDN as the member attribute value
connectionSearchFilter.append("(&(objectClass=guacConfigGroup)(|(uniqueMember=");
connectionSearchFilter.append(escapingService.escapeLDAPSearchFilter(userDN));
connectionSearchFilter.append(")");
// If group base DN is specified search for user groups
String groupBaseDN = confService.getGroupBaseDN();
if (groupBaseDN != null) {
// Get all groups the user is a member of starting at the groupBaseDN, excluding guacConfigGroups
LDAPSearchResults userRoleGroupResults = ldapConnection.search(
groupBaseDN,
LDAPConnection.SCOPE_SUB,
"(&(!(objectClass=guacConfigGroup))(uniqueMember=" + escapingService.escapeLDAPSearchFilter(userDN) + "))",
null,
false,
confService.getLDAPSearchConstraints()
);
- Guacamole kompilieren (wie obren beschrieben). Im Verzeichnis
C:\guacamole-client-0.9.14\extensions\guacamole-auth-ldap\target
findet sich die neue guacamole-auth-ldap-0.9.14.jar
Hier die angepasste guacamole-auth-ldap-0.9.14.jar (bitte .sh am Dateiende entfernen):
guacamole-auth-ldap-0.9.14.jar.sh (1.1 MB)
Diese muss noch nach /usr/share/guacamole kopiert werden. Anschließend die Joinskripte abändern, dass guacamole/guacamole und guacd/guacamole genutzt werden und ausführen.
Dann sollte alles klappen,
Gruß
Badzoo