mng.SetUserAttributes

Dieser Job setzt die Eigenschaften eines Benutzers.

1. Eingabeparameter

Name Typ Pflicht Beschreibung

Flags

INT

Ja

Derzeit nicht unterstützt — 0 übergeben.

UserInfo

BASE64

Ja

Eigenschaften im XML-Format (siehe unten).

HasEncoding

BOOL

Ja

UserInfo beinhaltet Encoding (z. B. UTF-8).

2. UserInfo-Struktur

<AdmInfo>
  <Users>
    <User account_type="0" benutzer="Test" loginName="Test" flags="1"
          geaendert="1" id="67" langid="0" locked="0" logincount="0"
          logintime="0" name="Peter Muster"
          osguid="EF989801BA8847199335DD4FDEF30BC5"
          passwort="BF754341546553351243620206006521266514574240603407"
          profil="66" server_id="3" supervisor="0"/>
  </Users>
</AdmInfo>
Attribut Typ Beschreibung

account_type

INT

Anmeldungstyp: 0 = Benutzeranmeldung; 1 = Applikationsserver; 2 = ANONYMOUS; 3 = Applikationsserver (z. B. Java-Server)

bemerkung

STRING

Bemerkung aus der Benutzerkonfiguration

benutzer

STRING

Benutzername

changepwd

INT

1 = Benutzer muss das Passwort beim nächsten Login ändern, sonst 0. Für einen so markierten Account meldet krn.CheckUserAccount PwdExpires = 0.

loginName

STRING

Anmeldename

flags

INT

0 = normaler Benutzer; 1 = Server oder ANONYMOUS

geaendert

INT

0 = Profil nicht verändert; 1 = Profil wurde geändert. Bei Accounts mit eigenem Profil (profil = 0) muss 1 gesetzt werden — siehe Hinweise zum Schreibzugriff

id

INT

ID des Benutzers

langid

INT

ID der verwendeten Sprache (leer = deutsch)

locked

INT

0 = nicht gesperrt; 1 = durch einen Administrator gesperrt; 2 = durch Fehlanmeldungen gesperrt (siehe Sperrverhalten). Der Wert wird bei jedem Aufruf mitgeschrieben — siehe die Warnung unter Hinweise zum Schreibzugriff

logincount

INT

Anzahl aufeinanderfolgender fehlgeschlagener Anmeldeversuche — nicht der erfolgreichen Anmeldungen. Eine erfolgreiche Anmeldung setzt den Wert auf 0 zurück; bei erreichtem Schwellwert wächst er nicht weiter.

loginstation

STRING

Name der letzten Einlogstation

logintime

INT

Zeitpunkt des Logins (Zeitstempel)

name

STRING

Vollständiger Name des Benutzers

osemail

STRING

E-Mail des Benutzers

osguid

STRING

GUID des Benutzers

passwort

STRING

Kodiertes Passwort des Benutzers

profil

INT

-1 = kein Profil; 0 = Benutzer-Profil; >0 = ID des zugeordneten Profils. Das Zuweisen kopiert keine Einstellungen; das geschieht erst beim Verteilen des Profils im enaio administrator (siehe Profilverteilung).

server_id

INT

ID des Servers

station

STRING

Name der Arbeitsstation des Benutzers

supervisor

INT

-1 = Supervisor, sonst 0

validfrom

INT

Benutzerkonto gültig von (Zeitstempel)

validto

INT

Benutzerkonto gültig bis (Zeitstempel)

3. Rückgabe

(INT): 0 = Job erfolgreich, sonst Fehlercode.

4. Hinweise zum Schreibzugriff

Der Job kennt keine Parameter für einzelne Attribute — sämtliche Eigenschaften werden über UserInfo übergeben. Das übliche Vorgehen ist daher Lesen, Ändern, Zurückschreiben: mit mng.GetUserAttributes die vollständige UserInfo des Accounts holen, das gewünschte Attribut ändern und das Ganze zurückschreiben.

Bei Accounts mit eigenem Profil (profil = 0) muss dabei geaendert="1" gesetzt werden, auch wenn sich am Profil nichts ändert. Die Kombination profil="0" und geaendert="0" liest der Server als „Profil entfernen" und bricht den gesamten Job mit -1040906168 ab, ohne etwas zu ändern.

Da locked bei jedem Aufruf mitgeschrieben wird, ersetzt jede beliebige Änderung — etwa an der Bemerkung — bei einem durch Fehlanmeldungen gesperrten Account die Markierung locked = 2 durch 0, ohne ihn zu entsperren. Aufgehoben wird eine solche Sperre ausschließlich durch logincount="0" (siehe Sperrverhalten); ein Schreiben von locked = 0 allein genügt nicht.

5. Benötigte Systemrolle

Dieser Job greift auf das Sicherheitssystem bzw. auf Benutzer- und Gruppendaten zu und setzt daher die Systemrolle 4 (Administrator: Konfiguration Sicherheitssystem — Rechtesystem konfigurieren) für den aufrufenden Benutzer voraus. Fehlt diese Rolle, wird der Aufruf mit dem Fehlercode -1040906164 abgewiesen; der zugehörige Fehlertext lautet:

User {username} does not have permission to configure the security system. Please contact your administrator.

Die dem aufrufenden Benutzer zugewiesenen Systemrollen lassen sich mit mng.GetUserRoles ermitteln; eine Übersicht aller Rollen findet sich unter Systemrollen. Siehe auch Fehlercodes.