mng.GetUserRoles

Dieser Job listet für den angemeldeten Benutzer oder einen angegebenen Benutzer die Systemrollen auf.

Ohne Angabe eines Benutzers werden die Systemrollen des angemeldeten Benutzers aufgelistet.

1. Eingabeparameter

Name Typ Pflicht Beschreibung

Flags

INT

Ja

z. Z. nicht unterstützt→ 0 übergeben

UserGUID

STRING

Ja

GUID des Benutzers. Leer bzw. GUID des angemeldeten Benutzers: keine Systemrolle erforderlich. GUID eines anderen Benutzers: Systemrolle 4 erforderlich. Eine unbekannte oder ungültige GUID erzeugt keinen Fehler — siehe Unbekannte UserGUID.

[UserId]

STRING

Nein

ID des Benutzers; hat derzeit keine Funktion und wird vom Server ignoriert

2. Ausgabeparameter

Name Typ Abhängigkeit Beschreibung

Result

String

—

Liste mit den IDs der Systemrollen, durch Semikolon getrennt. Siehe Systemrollen. Leer, wenn der Benutzer keine Systemrolle besitzt — oder wenn er nicht existiert (siehe Unbekannte UserGUID).

3. Rückgabe

(INT): 0 = Job erfolgreich, sonst Fehlercode

4. Benötigte Systemrolle

Die Systemrolle wird nur beim Abfragen fremder Benutzer geprüft:

  • UserGUID weggelassen bzw. leer oder gleich der GUID des angemeldeten Benutzers — es wird keine Systemrolle benötigt; jeder Benutzer darf seine eigenen Systemrollen abfragen.

  • UserGUID eines anderen Benutzers — der aufrufende Benutzer benötigt die Systemrolle 4 (Administrator: Konfiguration Sicherheitssystem — Rechtesystem konfigurieren). Fehlt diese Rolle, wird der Aufruf mit dem Fehlercode -1040906164 abgewiesen (verifiziert); siehe Fehlercodes.

Wird der Job mit einem Kontextwechsel aufgerufen, wird die Rolle 4 beim Zielbenutzer geprüft, nicht beim angemeldeten Konto.

Eine Übersicht aller Rollen findet sich unter Systemrollen.

5. Unbekannte UserGUID

Der Parameter UserGUID erzeugt nie einen Fehlercode. Eine unbekannte GUID, eine syntaktisch ungültige Zeichenkette (NOT-A-GUID) und die Null-GUID liefern alle return_code = 0 und ein leeres Result (verifiziert).

Ein leeres Result bedeutet daher nicht zwingend „der Benutzer besitzt keine Systemrolle" — es kann ebenso „der Benutzer existiert nicht" bedeuten. Wer beide Fälle unterscheiden muss, prüft die Existenz des Benutzers vorab mit mng.GetUserList bzw. mng.GetUserAttributes.

6. Fehler beim Kontextwechsel

Wird der Job mit einem Kontextwechsel aufgerufen, betrifft der Fehlercode -1043332467 nicht den Parameter UserGUID, sondern den Zielbenutzer des Kontextwechsels — dieser ist unbekannt, gesperrt, abgelaufen oder noch nicht gültig. Die Unterscheidung dieser vier Fälle ist nur über den Fehlerstack möglich; siehe Fehler beim Kontextwechsel.

Da mng.GetUserRoles häufig der erste Job nach einem Kontextwechsel ist, fällt der Fehler oft hier auf, obwohl er nicht von diesem Job stammt.