Postman-Collection
General Lesen

pixiCheckPixiUserLogin

Prüft Benutzername und Passwort eines Pixi-Benutzers, optional einen Berechtigungscode, und liefert, ob die Anmeldung gültig ist, samt E-Mail und echtem Namen.

Prüft die Anmeldedaten eines Pixi-Benutzers (Tabelle UCS_USERS).

  1. Das Passwort wird mit dbo.PixiEncrypt verschlüsselt. Das gespeicherte Passwort USER_PWD wird mit diesem verschlüsselten Wert verglichen.
  2. Der Benutzer wird über UserName gesucht. Ist USER_PWD beim Benutzer NULL, greift die Passwortprüfung Version 2: Die Prozedur ruft pixi.UserPassword_ValidateV2 mit Benutzername und Klartext-Passwort auf. Meldet diese Prozedur Erfolg, gilt die Passwortprüfung als bestanden.
  3. ValidUser ist nur dann 1, wenn ein Benutzer mit dem angegebenen UserName existiert und alle folgenden Bedingungen erfüllt sind:
    • Das Passwort stimmt, entweder über den klassischen Vergleich oder über die V2-Prüfung.
    • Ist CheckPermission gesetzt, besitzt der Benutzer eine Rolle (USER_HAS_ROLES → USER_ROLES → ROLE_HAS_PERMISSIONS) mit einer Berechtigung, deren Permission_Code gleich CheckPermission ist. Ein Leerstring bedeutet keine Berechtigungsprüfung.
    • Das Konto ist nicht abgelaufen: User_expire ist nicht 1, oder es ist 1 und Expiration_date liegt nach dem aktuellen Zeitpunkt.
    • User_active = 1. Andernfalls ist ValidUser gleich 0.
  4. Bei gültiger Anmeldung werden die Ausgabeparameter UserEmail und UserRealName aus User_Email und REAL_NAME befüllt. NULL-Werte werden zu Leerstrings.
  5. Ist SuppressDataset nicht 1, liefert die Prozedur eine Zeile mit ValidUser, UserName, UserEmail und UserRealName.

Hinweise

  • Die zurückgegebene Zeile enthält UserEmail und UserRealName, sobald der Benutzername existiert, auch wenn ValidUser 0 ist, etwa bei falschem Passwort. Existiert der Benutzer nicht, sind beide Spalten NULL. Die Ausgabeparameter UserEmail/UserRealName werden dagegen nur bei gültiger Anmeldung gesetzt.
  • dbo.PixiEncrypt ist lediglich eine einfache XOR-Verschleierung und kein kryptografischer Hash. Das Passwort sollte nur über die verschlüsselte Verbindung übertragen werden.
  • pixi.UserPassword_ValidateV2 liegt nicht vor. Die genaue Logik und mögliche Seiteneffekte, etwa Protokollierung oder Sperrung, sind unbekannt.
  • Ist User_expire NULL, ergibt die Ablaufbedingung nicht wahr. Solche Benutzer werden daher abgewiesen.
  • Der Vergleich des Benutzernamens hängt von der Datenbank-Collation ab. Die erste Suche für die V2-Prüfung verwendet COLLATE DATABASE_DEFAULT, die Gültigkeitsprüfung nicht.
  • Alle Lesezugriffe der Gültigkeitsprüfung erfolgen mit NOLOCK.

Parameter

Parameter Typ Standardwert Beschreibung
UserName
Pflicht
varchar(1024)
string
–

Pixi-Benutzername (UCS_USERS.USER_NAME).

Beispiel: shopapi

Password
Pflicht
varchar(1024)
string
–

Passwort des Benutzers im Klartext.

Beispiel: S3cret!2024

CheckPermission
varchar(5)
string
NULL

Optionaler Berechtigungscode (User_Permissions.Permission_Code), den der Benutzer über eine seiner Rollen besitzen muss. NULL oder ein Leerstring überspringt die Berechtigungsprüfung.

Beispiel: API

ValidUser
OUTPUT
bit
boolean
NULL

Ausgabe: 1, wenn die Anmeldung gültig ist, sonst 0.

SuppressDataset
bit
boolean
NULL

Bei 1 wird keine Ergebnismenge geliefert, nur die Ausgabeparameter werden gesetzt. NULL gilt als 0.

Erlaubte Werte

  • 0 – Ergebniszeile wird geliefert (Standard).
  • 1 – Ergebniszeile wird unterdrückt.

Beispiel: 0

UserEmail
OUTPUT
varchar(100)
string
NULL

Ausgabe: E-Mail-Adresse des Benutzers, nur bei gültiger Anmeldung gesetzt. Leerstring, wenn keine hinterlegt ist.

UserRealName
OUTPUT
varchar(40)
string
NULL

Ausgabe: echter Name des Benutzers, nur bei gültiger Anmeldung gesetzt. Leerstring, wenn keiner hinterlegt ist.

Antwort

Result-Set 1 · Wenn SuppressDataset nicht 1 ist.

Eine Zeile mit dem Ergebnis der Anmeldeprüfung.

Spalte Typ Beschreibung
ValidUser bit
boolean

1, wenn die Anmeldung gültig ist, sonst 0.

UserName varchar(1024)
string

Der übergebene Benutzername.

UserEmail
Kann leer sein
string

E-Mail-Adresse aus UCS_USERS.User_Email oder Leerstring. Befüllt, sobald der Benutzer existiert, auch bei ungültiger Anmeldung. NULL, wenn der Benutzer nicht existiert.

UserRealName
Kann leer sein
string

Echter Name aus UCS_USERS.REAL_NAME oder Leerstring. Befüllt, sobald der Benutzer existiert, auch bei ungültiger Anmeldung. NULL, wenn der Benutzer nicht existiert.

Beispiele

POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
  <SOAP-ENV:Body>
    <ns1:pixiCheckPixiUserLogin>
      <UserName>shopapi</UserName>
      <Password>S3cret!2024</Password>
      <!-- <CheckPermission>API</CheckPermission> -->
      <!-- <ValidUser>?</ValidUser> -->
      <!-- <SuppressDataset>0</SuppressDataset> -->
      <!-- <UserEmail>?</UserEmail> -->
      <!-- <UserRealName>?</UserRealName> -->
    </ns1:pixiCheckPixiUserLogin>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

UCS_USERS · Lesen USER_HAS_ROLES · Lesen USER_ROLES · Lesen ROLE_HAS_PERMISSIONS · Lesen User_Permissions · Lesen
SQL-Objekt:
dbo.pipiCheckPixiUserLogin
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben