pixiGetUserPermissions
Liefert Pixi-Benutzer mit Namen und einer durch Semikolon getrennten Liste der Berechtigungscodes aus ihren Rollen.
Liefert die Berechtigungscodes eines Pixi-Benutzers oder aller Benutzer.
- Ist
UserNameangegeben, wird nur dieser Benutzer geliefert. Bei leerem Wert oderNULLwerden alle Benutzer geliefert. - Der interne Benutzer
masterwird immer ausgeschlossen. - Berücksichtigt werden nur Benutzer, denen mindestens eine Rolle zugeordnet ist. Benutzer ohne Rolle werden überhaupt nicht geliefert.
- Die Berechtigungscodes ergeben sich aus den Rollen des Benutzers über die Zuordnung von Rollen zu Berechtigungen. Jeder Code erscheint pro Benutzer nur einmal, auch wenn ihn mehrere Rollen gewähren.
Pro Benutzer wird eine Zeile geliefert. PermissionCode enthält alle Codes dieses Benutzers, verbunden mit ;.
Wird kein passender Benutzer gefunden, wird stattdessen eine Statuszeile mit Status = Error geliefert.
Hinweise
- Alle Tabellen werden mit
NOLOCKgelesen, daher können nicht festgeschriebene Daten geliefert werden. - Jeder Berechtigungscode wird vor dem Verbinden in
varchar(10)umgewandelt. Längere Codes werden abgeschnitten. - Gewähren die Rollen eines Benutzers keine Berechtigungen, ist
PermissionCodeNULL. - Weder die Zeilen noch die Codes innerhalb von
PermissionCodehaben eine garantierte Reihenfolge. - Die Liste wird mit
FOR XML PATHerzeugt. Zeichen wie&,<oder>würden daher XML-maskiert erscheinen. - Werden alle Benutzer abgefragt und keiner gefunden, nennt die Fehlermeldung einen leeren Benutzernamen (
'').
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
UserName
|
varchar(50) string |
– |
Anmeldename des Benutzers. Leer oder Beispiel: |
Antwort
Result-Set 1 · Wenn mindestens ein passender Benutzer mit Rolle existiert
Eine Zeile pro Benutzer mit Namen und den verbundenen Berechtigungscodes.
| Spalte | Typ | Beschreibung |
|---|---|---|
UserName
|
string |
Anmeldename des Benutzers. |
FirstName
Kann leer sein |
string |
Vorname des Benutzers. |
LastName
Kann leer sein |
string |
Nachname des Benutzers. |
PermissionCode
Kann leer sein |
nvarchar(max) string |
Berechtigungscodes des Benutzers, getrennt durch |
Result-Set 2 · Wenn kein passender Benutzer gefunden wird
Statuszeile mit dem Fehler.
| Spalte | Typ | Beschreibung |
|---|---|---|
Status
|
varchar(5) string |
Immer |
Message
|
varchar(95) string |
Fehlertext mit dem angefragten Benutzernamen. |
Beispielantwort
<SqlRowSet1>
<row>
<UserName>jdoe</UserName>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<PermissionCode>101;102;205</PermissionCode>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| Error | Could not find the user with the username '{UserName}' | Kein Benutzer passt zum angegebenen Namen, der Benutzer ist `master`, oder dem Benutzer ist keine Rolle zugeordnet. Anmeldenamen und Rollenzuordnung des Benutzers prüfen. |
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:pixiGetUserPermissions>
<!-- <UserName>jdoe</UserName> -->
</ns1:pixiGetUserPermissions>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?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:pixiGetUserPermissions>
<!-- <UserName>jdoe</UserName> -->
</ns1:pixiGetUserPermissions>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'UserName' => 'jdoe',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetUserPermissions', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetUserPermissions