Login-Optionen
Login-Dialog
In der Login-Ansicht meldet sich der Benutzer mit seinem WinCC OA Benutzer an.
Die Login-Ansicht bietet auch die Möglichkeit, den Benutzer eingeloggt zu lassen oder absichtlich die Rechte auf "nur Anzeigen" zu ändern. In diesem Fall ist der Editiermodus deaktiviert und alle verbundenen Menüs versteckt.
Fehlgeschlagene Verbindungen mit falschen Logins führen zu ansteigenden Verzögerungen bis zum nächsten Versuch. Die Verzögerung nimmt von einer Sekunde auf 2, 4, 8, 16, 32 und dann 60 Sekunden zu.
Anmeldung mittels Authentifizierungs-Token
Es ist möglich, das Dashboard ohne Login sofort anzuzeigen, wenn ein valides Authentifizierungs-Token verwendet wird. Das Token wird zur der URL als Query-Parameter hinzugefügt. Z.B.:
?token=<Token ID>
Das Token wird vom Backend mittels eines Requests abgerufen.
Beispielskript mit einem curl-Request für Linuxbasierende Betriebssysteme:
curl --request GET \
--url https://localhost:8843/WebUI_Token \
--header "$(echo Authorization: Basic $(echo -n 'username:password' | base64))"
Beispielskript für einen Request auf Windows:
$user = 'username'
$pass = 'password'
$url = 'https://localhost:8843/WebUI_Token'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))
$Headers = @{
ContentType = "text/plain"
Authorization = "Basic $encodedCreds"
}
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
if (-not ([System.Management.Automation.PSTypeName]'ServerCertificateValidationCallback').Type)
{
$certCallback = @"
using System;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
public class ServerCertificateValidationCallback
{
public static void Ignore()
{
if(ServicePointManager.ServerCertificateValidationCallback ==null)
{
ServicePointManager.ServerCertificateValidationCallback +=
delegate
(
Object obj,
X509Certificate certificate,
X509Chain chain,
SslPolicyErrors errors
)
{
return true;
};
}
}
}
"@
Add-Type $certCallback
}
[ServerCertificateValidationCallback]::Ignore()
$result = Invoke-WebRequest -Uri $url -Headers $Headers -Method Get
$result.Headers.'Content-Type text/plain; charset=utf-8'
$token = [System.Text.Encoding]::UTF8.GetString($result.Content)
# open browser
Start-Process ("https://localhost:8843/#/dashboard?token=" + $token)
Single Sign On (SSO)
Das Dashboard kann auch mit Single Sign On (SSO) verwendet werden. Hierfür ist die Betriebssystemauthentifizierung erforderlich und die im Kapitel Single Sign On beschriebenen Konfigurationsschritte müssen durchgeführt werden.