Beispiel für die Konfiguration - SSA für Manager
- Erstellen Sie ein Projekt oder verwenden Sie ein bereits existierendes Projekt.
- Verwenden Sie die CA sowie die verfügbaren Zertifikate, die Sie erstellt haben.
- Verwenden Sie die Datei ca-chain.cert.pem aus dem Verzeichnis in dem diese gespeichert wurde:

Die ca-chain.cert.pem-Datei benötigen Sie nur für den Server. Die Datei dient zur Überprüfung von Zertifikaten.
- Verwenden Sie auch die Zertifikate norole.cert.pem, para.cert.pem, revoked.cert.pem sowie rootuser.cert.pem sowie die crl.cert.pem-Datei aus dem Verzeichnis in dem diese gespeichert wurden:


Sie benötigen auch die Keys:
norole.key.pem
para.key.pem
revoked.key.pem
rootuser.key.pem
Schlüssel müssen nur auf dem Rechner existieren wo der Manager diese für die Authentifizierung verwendet. Auf dem Server wird nur die rootuser.key.pem benötigt, wenn der Server die Manager nur als Benutzer root startet. Die anderen Schlüssel werden nur auf den Clients, die eine Verbindung zum Server aufbauen, benötigt. Um die Clients zu authentifizieren, benötigt der Server nur die Chain-Datei.
Abbildung: norole.key.pem, para.key.pem, revoked.key.pem, rootuser.key.pem
- Setzen Sie die folgenden Config-Einträge:
[general]
accessControlPlugin = "AccessControlPlugin"
[webClient]
clientSideAuth = 0
httpsPort = "443"
httpPort = "0"
rootPanel = "vision/login.pnl"
mobileRootPanel = "vision/login.pnl"
[ui]
httpServer = "https://localhost:443"
Wenn Sie die Serverseitige Authentifizierung für UI-Manager verwenden, muss der Config-Eintrag [general] accessControlPlugin = "AccessControlPluginUser" verwendet werden!
Die folgenden Server-Einstellungen:
[general]
ssaChainFile = "SSA_cert/ca-chain.cert.pem"
ssaCRL = "SSA_cert/crl.cert.pem"
In diesem Beispiel wird die Chain-Datei verwendet (siehe oberhalb). Wenn Sie Windows Cert Store-Zertifikate verwenden, benötigen Sie den config-Eintrag ssaChertCheck.
Die folgenden Einstellungen für alle Control-Manager:
[general]
ssaPrivateKey = "file:SSA_cert/rootuser.key.pem"
ssaCertificate = "file:SSA_cert/rootuser.cert.pem"
Die folgenden Einstellungen für den UI-Manager:
[httpServer]
uiArguments = "-p vision/login.pnl -centered -iconBar -menuBar -ssa"
Die folgenden Einstellungen für unterschiedliche Control-Manager:
[ctrl_3]
ssaPrivateKey = "file:SSA_cert/para.key.pem"
ssaCertificate = "file:SSA_cert/para.cert.pem"
[ctrl_4]
ssaPrivateKey = "file:SSA_cert/revoked.key.pem"
ssaCertificate = "file:SSA_cert/revoked.cert.pem"
[ctrl_5]
ssaPrivateKey = "file:SSA_cert/norole.key.pem"
ssaCertificate = "file:SSA_cert/norole.cert.pem"
[ctrl_6]
ssaPrivateKey = "file:SSA_cert/para.key.pem"
ssaCertificate = "file:SSA_cert/para.cert.pem"

- Erstellen Sie im Script Editor 3 Scripte mit z.B. folgendem Code:
void main() { DebugTN("ich bin script 1 und laufe"); }
- In der Konsole fügen Sie 5 CTRL-Manager und ein UI-Manager hinzu und setzen Sie die folgenden Manageroptionen:
CTRL -num 2 webclient_http.ctl
UI -m gedi -ssa
CTRL -num 3 script1.ctl -user para:
CTRL -num 4 script2.ctl -user para: //die Option funktioniert nicht, weil das falsche Zertifikat vorhanden ist, //kein Zertifikat für den Benutzer para, sondern für den Benutzer "revoked".
CTRL -num 5 script3.ctl -user para: //die Option funktioniert nicht, weil das falsche Zertifikat vorhanden ist, //kein Zertifikat für den Benutzer para, sondern für den Benutzer "norole".
CTRL -num 6 script1.ctl -user operator: //die Option funktioniert nicht, weil dies der falsche Benutzer ist - nicht der Benutzer para, sondern der Benutzer "operator".

Wenn Sie das Script 1 starten, wird im Log Viewer folgendes ausgegeben:
WCCOActrl (3), 2017.12.04 15:36:41.746, SYS, INFO, 103, User names/passwords initialized
WCCOActrl3:2017.12.04 15:36:41.878["ich bin script 1 und laufe"]
WCCOActrl (3), 2017.12.04 15:36:43.879, SYS, INFO, 181, Closing connection to (SYS: 0 Data -num 0 CONN: 1)