Verwaltet die Zuordnung von „dStore“-Benutzern (s. mi_GetUserInfo_Ad) zu Benutzer-Gruppen.
Hintergrund : Mit Hilfe von solchen Benutzer-Gruppen läßt sich die Administration der Rechtevergabe für Prozeduren und die Einschränkung von Prozedur-Aufrufen vereinfachen (s. z.B. mi_ModifyProcExRestForGroup_Ad).
Anmerkungen :
1. Gibt es die Zuordnung „UserID“ zu „UserGroupID“ noch nicht, wird sie erstellt, und zwar mit niedrigster Priorität („MovePriority“ hat also keine Bedeutung). Die Priorität (intern : „SortNo“) ist wichtig für die Überprüfung von Ausführungsbeschränkungen (s. mi_ModifyProcExRestForUser_Ad).
2. Ein Benutzer kann in maximal 256 Gruppen eingeordnet werden !
3. Ist „UserID“ bereits in der Gruppe „UserGroupID“ zugeordnet, kann man die Priorität („SortNo“) ändern, und zwar relativ um den durch „MovePriority“ angegebenen Wert. Ein negativer Wert bedeutet, daß die Priorität erniedrigt werden soll, was intern zur Folge hat, daß die „SortNo“ um diesen Wert erhöht wird. Umgekehrt würde die „SortNo“ entsprechend verringert werden (wenn „MovePriority“ positiv ist).
4. Besteht die Zuordnung bereits, und übergibt man für „MovePriority“ den Wert „0“ oder „NULL“, wird die Zuordnung gelöscht; die „SortNo“s anderer Gruppen, in die „UserID“ evtl. noch eingeordnet ist, „rücken automatisch entsprechend auf“.
5. Wenn der Aufrufer nicht „Super-Admin“ (Name entspricht dem Namen der DB) ist oder der „super admin“-Gruppe („UserGroupID = 0“, s. mi_GetUserGroups_Ad) angehört, kann er den Benutzer „UserID“ nur in Gruppen einordnen, denen er selbst angehört. Außerdem kann er analog nur dann eine Zuordnung entfernen oder auch nur die „SortNo“ ändern (→ „MovePriority“), wenn er der Gruppe „UserGroupID“ angehört !
HTTP-Method | POST |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | configurations |
Engine-Typ | Daten-Änderung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
UserID | ID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist (siehe mi_GetUserInfo_Ad) | smallint | 5.0.0 | |
UserGroupID | ID einer Benutzer-Gruppe | smallint | 5.0.0 | |
MovePriority | NULL | Ist „UserID“ bereits der Gruppe „UserGroupID“ zugeordnet, wird die Priorität relativ um diesen Wert geändert. Bei bestehender Zuordnung führt die Angabe von „0“ oder „NULL“ dazu, daß die Zuordnung gelöscht wird. Siehe Beschreibung ! | smallint | 5.0.0 |
Die Prozedur hat keine Rückgaben.
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 4) |
---|---|---|
-569 | Der Benutzer hat kein Ausführungsrecht für die Prozedur | nur indirekt |
-567 | Die Prozedur darf z. Zt. nicht ausgeführt werden | nur indirekt |
-566 | Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werden | nur indirekt |
-535 | Das Datum liegt nicht in der Vergangenheit | nur indirekt |
-530 | Der Wert ist nicht konvertierbar | nur indirekt |
-517 | Nicht-Super-Admins dürfen Benutzer-Gruppen-Zuordnungen nur für Gruppen verwalten denen sie angehören | nur direkt |
-513 | Ein Benutzer kann maximal 256 Gruppen zugeordnet werden | nur direkt |
-510 | Der Benutzer ist nicht registriert | nur indirekt |
-504 | Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochen | nur indirekt |
-500 | Falsche Parameter | nur indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] |
6.5.0 | 2012-09-17 | Neue Beschränkung bzgl. „UserGroupID“ : Wenn der Aufrufer nicht „Super-Admin“ ist oder der „super admin“-Gruppe angehört, kann er den Benutzer „UserID“ nur in Gruppen einordnen, der er selbst angehört |
5.0.0 | 2004-12-21 | Erstmalig in dieser Version erstellt |
Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:
Unformatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/mi_ModifyUsersInGroups_Ad?UserID=<value>&UserGroupID=<value>'
Mit xmllint 5) formatierte Ausgabe:
curl -X POST 'http://<partner>-<project>.dstore.de/default/engine/mi_ModifyUsersInGroups_Ad?UserID=<value>&UserGroupID=<value>' | xmllint --format -
use dStore_php\WebService; $service = new WebService\Service( WebService\Scheme::HTTP,'<partner>-<project>.dstore.de', 80); $request = new WebService\Requests\Engine\Procedure\Request( new WebService\Requests\AccessData('default'), 'mi_ModifyUsersInGroups_Ad', array( 'UserID' => <value>, 'UserGroupID' => <value>, // 'MovePriority' => NULL ) ); $service->execute($request); $xml_result = $request->getResponse()->getBody()->toSimpleXmlDocument(); $ResultSet = $xml_result->getRowsAsArray();
XML zur Ausführung mit der Methode engine/execute, z.B. per
curl --header 'Content-Type: application/xml' -X POST 'http://<partner>-<kunde>.dstore.de/default/engine/execute' -d '<xml-daten>'
<?xml version="1.0" encoding="UTF-8"?> <ListOfBatches> <Batch No="0"> <Procedure Name="mi_ModifyUsersInGroups_Ad"> <Parameters> <Parameter Name="UserID"><!-- smallint value --></Parameter> <Parameter Name="UserGroupID"><!-- smallint value --></Parameter> <!-- <Parameter Name="MovePriority">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>