Voraussetzungen und Installation
Folgende Schritte sind für eine erfolgreiche Konfiguration der serverseitigen Authentifizierung für UI-Manager erforderlich:
Serverseitige Konfiguration
- Aktivierung der automatischen Freischaltung in der Geräteverwaltung
- Definition des zu verwendenden Access Control Plug-ins
- Definition des Webservers.
Clientseitige Konfiguration
- Durchführen einer Clientspezifischen Konfiguration, z.B. Abgesetztes UI oder ULC UX
- Zusätzliche optionale Konfiguration.
- Starten des Server-Projektes, der -ssa-Option sowie des webclient_http.ctl-Skriptes.
Achtung: Für SSA auf Mobile UIs müssen die WinCC OA Standardplug-ins AccessControlPlugin und AccessControlPluginUser verwendet werden. Kundenspezifische Plug-ins dürfen nicht verwendet werden. Serverseitige Authentifizierung kann mit dem Mobilen UI verwendet werden. Die Verwendung von SSA auf mobilen Geräten verstößt gegen die bestimmungsgemäße Verwendung der Features Mobile UI und SSA. Auch wenn diese SSA-Lösung für Mobile UIs in einem Projekt angewendet wird, sind mobile Geräte/Mobile UI nicht als sicher anzusehen (siehe WinCC OA Security Manual, 6.4.5.1, Tabelle 22).
Serverseitige Konfiguration
Der Benutzer root kann nicht verwendet werden, um in ein SSA-Projekt einzuloggen. Es können jedoch alle anderen Benutzer verwendet werden, z.B. der Benutzer "para". Die standardmäßig vordefinierten WinCC OA-Benutzer, die beim Anlegen eines neuen Projektes erstellt werden, finden Sie im Kapitel "Benutzer". Um neue Benutzer anzulegen, lesen Sie ebenfalls das Kapitel Benutzer. Um Berechtigungen für Benutzer zu setzen, lesen Sie das Kapitel Gruppen.
Die serverseitige Authentifizierung für UI-Manager wird nicht unterstützt, wenn Single Sign On verwendet wird.
Nachdem Sie die Config-Einträge und den CTRL-Manager hinzugefügt haben, starten Sie das Projekt. Bei einem laufenden Projekt ist ein Neustart des Projektes erforderlich.
Geräteverwaltung - automatische Freischaltung
Aktivieren Sie die automatische Freischaltung in der Geräteverwaltung (System Management Panel -> Einstellungen -> Geräte-Verwaltung) bevor der Config-Eintrag "AccessControlPluginUser" gesetzt wird (Siehe Abbildung unterhalb).
Nachdem das User Interface einmalig nach der Serverseitige Authentifizierung für UI-Manager-Aktivierung gestartet wurde, kann die automatische Freischaltung in der Geräteverwaltung wieder deaktiviert werden.
Konfiguration - Access Control Plug-in
Folgende 2 Parameter sind innerhalb der Config-Datei erforderlich für eine erfolgreiche Konfiguration der serverseitigen Authentifizierung für UI-Manager.
[general]
accessControlPlugin = "AccessControlPluginUser"
Wenn Sie die Serverseitige Authentifizierung für alle Manager verwenden, muss der Config-Eintrag [general] accessControlPlugin = "AccessControlPlugin" verwendet werden!
Der Eintrag "accessControlPlugin" legt fest welches Plug-in für die serverseitige Authentifizierung für UI-Manager verwendet werden soll. Siehe auch Access Control Interface Grundlagen.
[webClient]
clientSideAuth = 0
Der Eintrag clientSideAuth = 0 legt fest, dass die serverseitige Authentifizierung für UI-Manager verwendet wird.
Konfiguration - WebServer
Geben Sie den WebServer wie folgt an:
[ui]
httpServer = "https://localhost:443"
Falls SSA zwischenzeitlich wieder deaktiviert wird, muss als Benutzer "root" der entsprechende _UIx.SessionToken-Datenpunktwert manuell gelöscht werden. Ansonsten wird für das zuvor aufgeschaltene UI das Login-Panel nicht mehr korrekt angezeigt und der automatische eingeloggte Benutzer erhält keine Berechtigungen.
Clientseitige Konfiguration
Folgende Konfigurationen müssen für den jeweiligen eingesetzten Client durchgeführt werden:
Abgesetztes UI / Desktop UI Konfiguration
Bei Verwendung eines abgesetzten UIs oder des Desktop UIs müssen innerhalb der Config-Datei des Server Projektes folgende Configeinträge ergänzt werden:
[general]
accessControlPlugin = "AccessControlPluginUser"
Um die HTTP-Serverauthentifizierung zu verwenden, fügen Sie den Config-Eintrag httpAuth=1 sowie die httpsPort und httpPort-Einträge zu der webClient-Sektion der Config-Datei hinzu.
[webClient]
httpAuth=1
httpsPort = 443
httpPort = 0
ULC UX Konfiguration
Aktivieren Sie die serverseitige Authentifizierung für UI-Manager für den ULC UX durch setzen folgender Config-Einträge innerhalb der Config-Datei Ihres Serverprojektes:
[httpServer]
uiArguments = "-p vision/login.pnl -centered -iconBar -menuBar -ssa"
Optionale Konfiguration
aliveTimeout
Bei hoher Latenz der Netzwerkverbindung zwischen Client und Server kann es erforderlich sein den aliveTimeout für die Data- und Eventmanager-Kommunikation zu erhöhen, z.B.:
[data]
aliveTimeout = -2
[event]
aliveTimeout = -2
uiUsesMainServerAsFileServer
Der Eintrag "uiUsesMainServerAsFileServer = 0" wird benötigt, um eine Weiterleitung des UIs für den Download der Projektdateien auf einen weiteren Webserver zu verhindern. In diesem Fall müssen alle für das UI notwendigen Daten (Panels, Skripte, ...) innerhalb dieses Projektes liegen, welches auch den ULC UX Server startet.
[httpServer]
uiUsesMainServerAsFileServer = 0
Startpanel
Um ein Startpanel anzugeben, wenn das UI gestartet wird, verwenden Sie entweder den rootPanel-Eintrag für das UI:
[webClient]
rootPanel = "vision/login.pnl"
oder den mobileRootPanel-Eintrag für die Mobile UI Applikation:
[webClient]
mobileRootPanel = "vision/login.pnl"
Wenn diese Config-Einträge nicht gesetzt wurden, wird das login.pnl angezeigt.
Starten des Serverprojektes
Starten Sie das Serverprojekt. Fügen Sie die -ssa Option zu dem Projekt hinzu, damit der Client eine Verbindung zum Server aufbauen kann. Fügen Sie auch das webclient_http.ctl-Script zu dem Projekt hinzu. Siehe Abbildung unterhalb (hier wird der lokale Rechner als Server verwendet):
Starten Sie jetzt den Client Ihrer Wahl wie z.B. den ULC UX über https://localhost/data/ulc/start.html.
-
Jedes Modul hat eine "Abmelden & Manager Beenden-Option", wenn ein UI mit der Option -ssa gestartet wurde. Die "Abmelden & Manager Beenden-Option" löscht einen Benutzer/ein Passwort aus der Liste der gespeicherten Anmeldedaten, welche über die Checkbox des Authentifizierungsdialogs gespeichert wurden. Daher wird der HTTP-Authentifizierungsdialog das nächste Mal, wenn das UI gestartet wird, angezeigt.
Im GEDI zeigt ein Feld in der Statusleiste den aktuellen Benutzernamen:
Beachten Sie, dass der Benutzername nur beim Startup eingesetzt wird. Wenn ein Benutzerwechsel stattfindet, wird das Feld nicht aktualisiert, wenn der GEDI läuft.