Generische Jobparameter
Neben den Eingabeparametern, die jeder Job selbst definiert, wertet der Server-Kernel eine Reihe von Parametern aus, die bei beliebigen Jobaufrufen mitgegeben werden können — unabhängig von der ausführenden Engine. Diese Seite dokumentiert diese Parameter zentral; die Prozedurseiten der einzelnen Jobs führen sie nicht auf, sondern verweisen hierher.
Kenntlich sind diese Parameter an der Schreibweise mit dreifachem Dollarzeichen ($$$Name$$$).
1. Wechsel des Benutzerkontextes bei Jobaufrufen
Ein Serverjob kann in einem anderen Benutzerkontext ausgeführt werden. Dazu wird dem Jobaufruf einer der folgenden Parameter hinzugefügt:
| Name | Beschreibung |
|---|---|
|
GUID des Benutzers, in dessen Namen der Job ausgeführt werden soll. |
|
ID des Benutzers, in dessen Namen der Job ausgeführt werden soll. |
|
Name des Benutzers, in dessen Namen der Job ausgeführt werden soll. |
Die drei Parameter sind Alternativen — der Benutzer wird entweder über GUID, ID oder Name adressiert.
Bei Jobs, die das Rechtesystem auswerten, wird die Rechteprüfung für den angegebenen Benutzer ausgeführt. Auch weitere Jobs, die serverseitig als Folge des Aufrufs ausgeführt werden — etwa ein interner Aufruf von std.IndexDataChanged zum Erstellen eines Historieneintrages auf DMS-Objekte — laufen dann im Namen des angegebenen Benutzers.
|
Der ausführende (angemeldete) Benutzer benötigt die Systemrolle Die dem aufrufenden Benutzer zugewiesenen Systemrollen lassen sich mit mng.GetUserRoles ermitteln; eine Übersicht aller Rollen findet sich unter Systemrollen. |
Ist der adressierte Benutzer unbekannt, wird der Aufruf mit dem Fehlercode -1043332467 abgewiesen; die Server-Meldung enthält die Benutzer-GUID.
| Dieselbe Rolle setzt auch krn.CheckUserAccount voraus — dort ohne Kontextwechsel, allein für den Aufruf des Jobs. |
Typischer Anwendungsfall ist eine Integration, die unter einem technischen Service-Benutzer angemeldet ist, Operationen aber im Namen des fachlich handelnden Benutzers ausführen soll — damit greifen dessen Berechtigungen und der Historieneintrag nennt ihn als Verursacher.
Für die XML-Jobs der DMS-Engine existiert daneben der jobspezifische Eingabeparameter JobUserGUID (siehe Der Parameter JobUserGUID), der nur bei serverseitigen Aufrufen aus anderen Jobs zulässig ist.
|