Dient der Überprüfung, ob der Benutzer, der diese Prozedur hier aufruft, (eine) bestimmte Prozedur(en) ausführen darf.
Anmerkung : Der Benutzer, für den Rechte ermittelt werden, darf NICHT in der „public“-Gruppe sein (sonst gibt es „-500“)
HTTP-Method | GET |
HTTP-Auth | Optional |
Tags | |
Engine-Kategorie | basics |
Engine-Typ | Daten-Ermittlung |
Letzte Aktualisierung | 7.0.7 (2015-01-29) |
Name 1) | Standard-Wert | Beschreibung 2) | SQL-Datentyp3) | ab Version |
---|---|---|---|---|
ProcedureName | NULL | Name einer Prozedur. „NULL“ übergeben, falls die Namen über die Tabelle „tempdb.dbo.AnyValues“ übergeben werden; alternativ kann auch eine „GetAdminProceduresForUserID“ angegeben werden (nur für den „Super“-Admin [Name = Datenbankname] !). | varchar(50) | 3.5.0 |
GetAdminProceduresForUserID | NULL | ID eines „dStore“-Benutzers. Dieser Parameter kann nur vom „Super“-Admin (Name = Datenbankname) verwendet werden ! Bei „-1“ werden „UserID“s in „tempdb.dbo.OneID“ erwartet. Für den oder die Benutzer werden dann alle „Ad“-Prozeduren untersucht. | smallint | 3.5.4 |
ProcedureCategoryID | NULL | ID einer Kategorie von Prozeduren (siehe do_GetProcedureCategories_Ad). Wird nur beachtet, falls „ProcedureName“ „NULL“ ist UND „GetAdminProceduresForUserID“ angegeben wurde. Dann werden nur die „Ad“-Prozeduren dieser Kategorie berücksichtigt. | tinyint | 3.5.4 |
Spaltenname | Beschreibung | SQL-Datentyp4) | ab Version |
---|---|---|---|
ProcedureName | Name einer Prozedur | varchar(50) | 3.5.0 |
ProcedureExists | Handelt es sich bei „ProcedureName“ auch um eine existierende Prozedure des „dStore“ ? | bit | 3.5.0 |
ExecuteRight | Hat der Benutzer „UserName“ Ausführungsrechte für die Prozedur „ProcedureName“ ? | bit | 3.5.0 |
ProcedureFunction | Kurz-Beschreibung der Prozedur „ProcedureName“ | varchar(255) | 3.5.4 |
UserName | Ein „dStore“-Benutzer, der also in „UserInfo“ (siehe mi_GetUserInfo_Ad) registriert ist | varchar(50) | 3.5.20 |
UserID | ID des Benutzers „UserName“ aus „UserInfo“ | smallint | 5.0.0 |
UserExecRightOnDatabaseLevel | Ausführungsrecht für den Benutzer auf Datenbank-Ebene. Mögliche Werte : - „NULL“ : es ist nichts (explizit) konfiguriert - „0“ : explizites Ausführungsverbot - „1“ : explizites Ausführungsrecht | tinyint | 5.0.0 |
GroupExecRightOnDatabaseLevel | Ausführungsrecht (auf Datenbank-Ebene) für die Gruppe, der der Benutzer angehört (mögliche Werte : s. „UserExecRightOnDatabaseLevel“) | tinyint | 5.0.0 |
PublicExecRightOnDatabaseLevel | Ausführungsrecht (auf Datenbank-Ebene) für die „public“-Gruppe (mögliche Werte : s. „UserExecRightOnDatabaseLevel“) | tinyint | 5.0.0 |
ProcedureID | ID der Prozedur aus „RegisteredProcedures“. Falls „NULL“ ausgegeben wird, bedeutet dies, daß auf „dStore“-Ebene keine Rechte-Überprüfung stattfindet (entweder weil es keine „Ad“-Prozedur ist oder es sich beim „UserName“ um den „Super-Admin“ handelt). | smallint | 5.0.0 |
UserExecRightOndStoreLevel | Ausführungsrecht im „dStore“ für den Benutzer „UserID“. Mögliche Werte : - „NULL“ : es ist nichts (explizit) konfiguriert - „0“ : explizites Ausführungsverbot - „1“ : explizites Ausführungsrecht | tinyint | 5.0.0 |
GroupExecRightOndStoreLevel | Gibt an, ob mindestens eine Gruppe existiert, in die der „dStore“-Benutzer „UserID“ eingeordnet ist, für die das Recht, die Prozedur direkt ausführen zu können, konfiguriert ist („1“) oder nicht („0“) | bit | 5.0.0 |
(parameterunabängige Sortierung)
Die Prozedur hat keine Output-Parameter.
Code | Beschreibung | Quelle 5) |
---|---|---|
-570 | Nur der Super-Admin darf diese Prozedur (mit diesen Parametern) ausführen | nur direkt |
-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 |
-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 |
-502 | Die Parameter-Werte der Prozedur können nicht verarbeitet werden (kein passendes Trennzeichen) | nur indirekt |
-500 | Falsche Parameter | direkt und indirekt |
Die Rückgabe erfolgt als XML-Dokument welches gegen das Schema Response/EngineProcedure_v1_0.xsd validiert.
7.0.7 | 2015-01-29 | 1. Interne Änderung : Datentyp-Erweiterung des „ReferenceKey“ [für „_mi_StartProcedure“-Aufruf] 2. Besonderheit beachtet, daß Prozedur „_mi_GetLogicalReads“ nicht „dbo“ sondern „sa“ gehört |
6.5.3 | 2013-03-18 | Anpassungen an den aktuellen Quellcode-Standard, u.a. wg. UTF8-Unterstützung |
5.0.0 | 2004-12-21 | 1. Berücksichtigung der Tabellen „ProcedureExecRightsForUsers“, „ProcedureExecRightsForGroups“ 2. Neue Rückgabespalten „ProcedureID“, „…ExecRightOnDatabaseLevel“, „…ExecRightOndStoreLevel“ 3. Performance-Verbesserung 4. Fehler bzgl. Return-Code |
4.0.14 | 2004-06-03 | 1. Aufruf der Prozeduren „_mi_StartProcedure“, „_mi_FinishProcedure“ und „_mi_ChooseParamValueSeperator“ 2. Ausführen von „set transaction isolation level 1“ und „set rowcount 0“ zu Beginn der Prozedur 3. Konsequente Fehlerbehandlung |
4.0.1 | 2003-05-16 | 1. „set forceplan“ an einigen Stellen eingesetzt 2. Fehlende Index-Angaben in einigen Fällen |
4.0.0 | 2003-04-03 | 1. Einige Korrekturen bzgl. der internen Quellcode-Doku 2. Änderung des Klartextes für den Return-Code „-570“ 3. Rückgabespalte „UserName“ fehlte in der Doku, außerdem sollte nach dieser sortiert werden ! |
3.5.20 | 2002-07-22 | |
3.5.16 | 2002-04-25 | |
3.5.5 | 2001-03-30 | |
3.5.4 | 2001-03-11 | |
3.5.2 | 2001-01-28 | |
3.5.0 | 2000-11-23 | 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 GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetExecuteRights_Ad'
Mit xmllint 6) formatierte Ausgabe:
curl -X GET 'http://<partner>-<project>.dstore.de/default/engine/mi_GetExecuteRights_Ad' | 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_GetExecuteRights_Ad', array( // 'ProcedureName' => NULL, // 'GetAdminProceduresForUserID' => NULL, // 'ProcedureCategoryID' => 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_GetExecuteRights_Ad"> <Parameters> <!-- <Parameter Name="ProcedureName">NULL</Parameter> --> <!-- <Parameter Name="GetAdminProceduresForUserID">NULL</Parameter> --> <!-- <Parameter Name="ProcedureCategoryID">NULL</Parameter> --> </Parameters> </Procedure> </Batch> </ListOfBatches>