-> Hier kostenlos registrieren
Ziel: Abfrage, ob dem aktuell angemeldeten Benutzer die Rolle "HMI Operator" zugeordnet ist. Die HMI-Variable "Operator_logged_in" soll dann auf TRUE gesetzt werden.
Im Aufgabenplaner wurde dieses Skript mit Hilfe eines Snippets angelegt und testhalber im 10-Sekunden-Takt ausgelöst:
Anmerkung: Nachstehender Screenshot enthält Darstellungsfehler durch RDP-Zugriff auf VM im Bürorechner.

Wenn ich einen User anmelde, der "HMI Operator" ist, wird seine Rolle jedoch nicht erkannt. Tausche ich True und False, wirde der zweite Befehl korrekt ausgeführt.
Auch kommt die Trace-Ausgabe, wie zu erwarten, immer aus dem else-Zweig.
Mit einem anderen Snippet versuchte ich deshalb, die dem Benutzer zugeteilten Rollen auszulesen:
Es wird keine einzige Rolle erkannt.
Umgebung = TiaV20 + 12"-MTP
Wo könnten die Fehler liegen?
Im Aufgabenplaner wurde dieses Skript mit Hilfe eines Snippets angelegt und testhalber im 10-Sekunden-Takt ausgelöst:
Anmerkung: Nachstehender Screenshot enthält Darstellungsfehler durch RDP-Zugriff auf VM im Bürorechner.

Wenn ich einen User anmelde, der "HMI Operator" ist, wird seine Rolle jedoch nicht erkannt. Tausche ich True und False, wirde der zweite Befehl korrekt ausgeführt.
Auch kommt die Trace-Ausgabe, wie zu erwarten, immer aus dem else-Zweig.
Mit einem anderen Snippet versuchte ich deshalb, die dem Benutzer zugeteilten Rollen auszulesen:
Code:
export function Task_Aufgabe_3_Update()
let roles = HMIRuntime.UserManagement.GetRolesFromUser();
if(roles.length > 0){
let strRoles = '';
roles.forEach((roleName) => {
strRoles += roleName + ';';
});
HMIRuntime.Trace("The current user is in role(s): " + strRoles);
}
else{
HMIRuntime.Trace("User has no roles.");
}
}
Umgebung = TiaV20 + 12"-MTP
Wo könnten die Fehler liegen?




