Benutzer-Werkzeuge

Webseiten-Werkzeuge

Action disabled: source

engine:procedures:mi_modifyusersingroups_ad

mi_ModifyUsersInGroups_Ad

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-MethodPOST
HTTP-AuthOptional
Tags
Engine-Kategorieconfigurations
Engine-TypDaten-Änderung
Letzte Aktualisierung7.0.7 (2015-01-29)

Parameter

Name 1) Standard-Wert Beschreibung 2) SQL-Datentyp3) ab Version
UserID ID eines „dStore“-Benutzers, der in „UserInfo“ registriert ist (siehe mi_GetUserInfo_Ad)
smallint5.0.0
UserGroupID ID einer Benutzer-Gruppe
smallint5.0.0
MovePriorityNULL 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 !
smallint5.0.0

Rückgabe

Die Prozedur hat keine Rückgaben.

Output-Parameter

Die Prozedur hat keine Output-Parameter.

Mögliche Return-Codes

Code Beschreibung Quelle 4)
-569Der Benutzer hat kein Ausführungsrecht für die Prozedurnur indirekt
-567Die Prozedur darf z. Zt. nicht ausgeführt werdennur indirekt
-566Die Prozedur darf mit den übergebenen Parametern nicht ausgeführt werdennur indirekt
-535Das Datum liegt nicht in der Vergangenheitnur indirekt
-530Der Wert ist nicht konvertierbarnur indirekt
-517Nicht-Super-Admins dürfen Benutzer-Gruppen-Zuordnungen nur für Gruppen verwalten denen sie angehörennur direkt
-513Ein Benutzer kann maximal 256 Gruppen zugeordnet werdennur direkt
-510Der Benutzer ist nicht registriertnur indirekt
-504Es ist ein Problem aufgetreten, das nicht gelöst werden kann, Prozedur wird daher abgebrochennur indirekt
-500Falsche Parameternur indirekt

XML-Schema

Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.

Historie

7.0.7 2015-01-29Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf]
6.5.0 2012-09-17Neue 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-21Erstmalig in dieser Version erstellt

Code-Snippets

Engine Playground

Der folgende Link öffnet in einem separaten Fenster den Engine Playground der fest mit dem dbap-demo System verbunden ist:

cURL

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 -
dStore_php
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();
engine/execute

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>
1)
Pflichtparameter sind unterstrichen
4)
direkt meint „von der Prozedur selber“ und indirekt meint „von intern aufgerufenen Unterprozeduren“
5)
I.d.R. auf Unix-artigen Systemen bereits installiert, Bestandteil der libxml2, siehe http://www.xmlsoft.org
engine/procedures/mi_modifyusersingroups_ad.txt · Zuletzt geändert: 11.01.2016 (Externe Bearbeitung)