Write a comment

Schon mal etwas vom Web Interface Session Sharing Key gehört? Wahrscheinlich nicht aber ich vermute das einige  Unternehmen mit dem Sharing Key ein Problem haben und es nicht wissen. Natürlich erkennen Sie, dass Sitzungen nicht "Geschert" werden oder sogar auf dem gleichen xenApp Server eine neue Sitzung starten. Vor einigen Jahren habe ich einen Artikel über Citrix Seamless Engine verstehen geschrieben und verdeutlicht "Sharing" Probleme beim veröffentlichen von Anwendungen. Der Web Interface Session Sharing Key ist eine andere Geschichte, die ich in diesem Artikel erklären möchte.

Der Session Sharing Key spielt eine Rolle wenn

  • Web Interface Seite und die Nutzung des Online/Offline Plug-in zur gleichen Zeit
  • Web Interface Seite zum Start von Sitzungsdesktop und darin das Online/Offline Plug-in
  • Web Interface Seite zum Start eines VM Desktop (xenDesktop) und darin das Online/Offline Plug-in

Web Interface- und die Web Interface Service Seite

Als Citrix das Web Interface designte hatten sie nicht gedacht, dass Unternehmen das Online Plug-In (PNAgent) und die Web Interface Seite zur gleichen Zeit und für den gleichen Benutzer verwenden würden. Zudem verwenden viele Administratoren das Online Plug-In als ein Ersatz für das Startmenü, wovon ich kein Freund bin und auch Citrix es nicht entwickelt hat. Anstelle einfach ein gemeinsames Startmenü für alle Benutzer zu erstellen, wird das Online Plug-In genutzt. Das ist einfach aber oft wird unterschätzt wie viele Komponenten beteiligt sind und was dadurch alles falsch gehen kann.

Web Interface Session Sharing Key verstehen

Nun was oder besser wo ist der Session Sharing Key? Sie finden den "SessionSharingKey" in der ICA Datei die zum Start der Sitzung vom Web Interface oder der Service Seite heruntergeladen wurde.
Wie die ICA Datei zu erhalten ist wird in den Citrix Artikeln CTX115304 beschrieben oder einfach den Firefox verwenden. Haben Sie die Datei heruntergeladen, dann suchen Sie nach SessionSharingKey und sie finden etwas wie SessionSharingKey=-GFS55brCiGGp/Rlna9dWmB, oder mit älteren Web Interface Versionen SessionSharingKey=8-basic-basic--user @dom.local-farm1

Der zweite Key kommt vom Web Interface 4.6 und hier sollten Sie einige Werte erkennen. Hier nun die Auflösung des Schlüssels: colors + "-" + encrypt + "-" + audio + "-" + domain + "-" + user + "-" + farm

Was ist denn nun mit dem ersten Sharing Key, der vom Web Interface 5.2 kommt? Citrix hat schlicht entschieden den gesamten Session Sharing Key mit einem "Hash" Wert zu versehen. Wirklich wichtig ist aber das der SessionSharingKey 100% tig gleich sein muss, damit ein Sharing der Sitzungen funktioniert.

Problem mit dem Session Sharing Key

Wahrscheinlich sehen einige noch immer nicht das Problem mit dem Sharing Key aber das kommt noch. Beginnen wir mit dem offensichtlichem – dem Domänen Wert!
 
Nehmen wir an, dass der Administrator im Web Interface die Domäne mit mydomain.local vorgegeben hat und Benutzer über diese Seite eine Desktop Sitzung starten.

.

Auf der Desktop Sitzung wiederum wird das Online Plug-In mit Pass-Through verwendet. Als Standard wird bei dem Server mydomain zur Anmeldung verwendet und nicht mydomain.local!

Wird jetzt eine Anwendung über das Online Plug-In gestartet, so ist der Session Sharing Key nicht der selbe wie der für die Desktop Sitzung. Hieraus folgt, dass die Anwendung eine neue Sitzung für den Benutzer öffnet, die Anmeldung erneut durchgeführt wird, ein weiteres mal das Profil des Benutzers geladen wird usw. Das bringt eine Menge an Problemen mit sich.

Das Gleiche passiert, wenn Web Interface und das Online Plug-In zur gleichen Zeit auf einer Workstation verwendet werden. Die Strategie ist hier das Web Interface (die Webseite) zu verwenden, um zusätzliche Nachrichten, Informationen etc. darzustellen. Dies erfordert aber außerdem das Online Plug-In für die Inhaltsumleitung.


Nicht so offensichtlich aber tatsächlich "gemein" ist, dass evtl. die Web Interface Seite und der Service unterschiedliche Session Sharing Key’s erzeugen selbst wenn alles gleich ist! Ups, ein "Bug" im Web Interface den ich mit 4.6 gesehen habe. Hoffe dass dies in der aktuellen Web Interface Version 5.2 bereits behoben wurde.

Wie bekomme ich den gleichen Session Sharing Key?

Als erstes sicherstellen das Web Interface und der Server/Workstation das gleiche Domänenformat (Netbios oder UPN) verwenden. Für Server/Workstation kann eine Microsoft Gruppenrichtlinie genutzt werden und/oder ein ICA Client Registry Wert gesetzt werden, wie im Artikel CTX368624 beschrieben, .
Sollte der Sharing Key noch immer nicht gleich sein, so ist eine Fehleranalyse notwendig, welche ich als nächstes erkläre.

 

Fehleranalyse des Session Sharing Key

Der Session Sharing Key mit dem Hash Wert hilft so gar nicht und darum muss dieser erst deaktiviert werden. Hierzu einfach die Windows Suchfunktion (F3) verwenden aber vorher sicherstellen das ALLE Dateien durchsucht werden. Das Web Interface Verzeichnis dann nach dem Inhalt "SessionSharingKey" durchsuchen. Mit Web Interface 5.2 sind das Ergebnis zwei Dateien "Include.java" und "LaunchShared.java", wobei in der ersten Datei nichts wirklich Nützliches steht.  In der LaunchShared.java hingegen sind relative schnell die folgenden zwei Zeilen zu finden:


// Put the encrypted hash in the ica file, if we successfully managed to create one.
icaFile.setValue(ICAFile.SECTION_APPLICATION, ICAFile.VALNAME_SESSIONSHARING_KEY, sessionSharingKeyHash);

Wird vor der zweiten Zeile "//"  gesetzt, dann wird dadurch der "Hash" auf dem Session Sharing Key deaktiviert und erhält einen noch längeren String:
SessionsharingKey=8-basic-none-mydomain-user-farm-Off-Off--On-On
Übersetzt zu: colors + "-" + encrypt + "-" + audio + "-" + domain + "-" + user + "-" + farm + "-" +            specialFolderRedirection + "-" + virtualComPortEmulation + "-" + comPortMapping + "-" + clientPrinterPortMapping + "-" + clientPrinterSpooling


Beim einem Vergleich kann es jetzt sein, dass an einer Stelle ein Off steht wo aber ein On sein sollte oder andersherum. Die ersten Parameter sind einfach zu managen (Eigenschaften der Anwendung und Domäne) aber was ist mit dem Rest? Einfach den notwendigen Wert in die Default.ica Datei für das Web Interface oder Service hinzufügen. Die Werte für die ICA Datei können in der INI File Reference CTX107919 nachgelesen werden.

Als Beispiel: "comPortMapping" sollte On sein, dann den Wert COMAllowed=On in der [wfclient] Sektion hinzufügen.

 

Zusammenfassung

Der Session Sharing Key ist sehr wichtig und sollte Web Interface und das Online Plug-In in Kombination verwendet werden. Unbedingt sicherstellen, dass zur Authentifizierung für Web Interface und Server/Workstation das gleiche Format (Netbios, UPN) verwendet wird. Bedingt durch ein Web Interface Bug kann es notwendig sein eine Fehleranalyse durchzuführen.
Ungleichheit mit dem Session Sharing Key verhindert das Sitzungen geschert werden. Passiert das, so werden mehrere Sitzungen für den gleichen Benutzer verwendet, mehrfach Anmeldungen an Servern, mehrfaches laden von Profilen, unnötiger Verbrauch von Server Ressourcen und noch vieles mehr.  Daher unbedingt sicherstellen, dass der Session Sharing Key unter Ihrer Kontrolle ist - Ist das so? Lassen Sie es mich wissen!

Gib hier deinen Kommentar ein...
oder als Gast kommentieren
Lade Kommentar... Der Kommentar wird aktualisiert nach 00:00.

Schreibe den ersten Kommentar.